filter篩選數(shù)組方法
<script >
//filter 篩選數(shù)組
var arr=[12,66,4,88];
var newArr=arr.filter(function(value,index){
return value>=20;
//return value%2===0--------取出偶數(shù)
});
console.log(newArr);
</script>
----->輸出:66,88
some()方法:(返回值是一個(gè)布爾值)
<script >
//filter 篩選數(shù)組
var arr=[12,6,4,8];
arr.some(function(value){
return value>=20;
});
//----->flase
console.log(flag);
var arr1=['red','pink','blue'];
var flag1=arr1.some(function(value){
return value='pink';
});
console.log(flag1);
//------->true
</script>
如果找到了第一個(gè)滿足條件的元素,則終止循環(huán),不再繼續(xù)查找
//filter 也是查找滿足條件的元素,返回的 是一個(gè)數(shù)組,而且是把所有滿足條件的元素返回回來(lái)
//some也是查找滿足條件的元素是否存在,返回的是一個(gè)布爾值,如果查找到第一個(gè)元素滿足就終止循環(huán)
查詢方法的案例:

圖片發(fā)布于簡(jiǎn)書(shū)app
<script >
//利用新增數(shù)組方法操作數(shù)據(jù)
var data=[{
id=1,
pname:"小米",
price:3999
},{
id=2,
pname="oppo",
price:999
},{
id=3,
pname="榮耀",
price:1299
},{
id=4,
pname="華為",
price=1999
},];
//獲取相應(yīng)的元素
var tbody=Document.querySelector("tbody");
var search_price=Document.querySelector('.search_price');
var start=Document.querySelector('.start');
var end =Document.querySelector('.end');
var product=Document.querySelector('.product');
var search_pro=Document.querySelector('search_pro')
setDate(data);
//把數(shù)據(jù)渲染到頁(yè)面中
function setDate(mydata){
//先清空與拿來(lái)tbody里面的數(shù)據(jù)
tbody.innerHTML='';
mydata.forEach(function(value){
var tr=Document.createElement('tr');
tr.innerHTML='<td>'+value.id+'</td><td>'+value.pname+'</td><td>'+value.price+'</td>';
tbody.appendChild(tr);
});
}
//3當(dāng)我們點(diǎn)擊了按鈕,就可以根據(jù)我們的商品價(jià)格去篩選數(shù)組里面的對(duì)象
search_price.addEventListener('click',function(){
var newData=data.filter(function(value){
return value.price=start.value&&value.price<=end.value;
//把篩選完的對(duì)象渲染到頁(yè)面中
});
setDate(newData);
});
//4.如果商品名稱(chēng)查找商品
//如果查詢數(shù)組中唯一的 元素,用some方法會(huì)更合適,因?yàn)樗业竭@個(gè)元素就不再進(jìn)行循環(huán),效率高
search_pro.addEventListener('click',function(){
var arr=[];
data.some(function(value){
if(value.pname===product.value){
arr.push(value);
return true; //return 后面必須寫(xiě)true
}
});
//把拿到的數(shù)據(jù)渲染到頁(yè)面中
setDate(arr);
})
</script>