js filter用法比較

講解一個很實用的JS小語法 filter數組

就是從數組中找到適合條件的元素(好比說大於某一個元素的值)函數

var arr=[1,23,5,78,34,55,13];測試

如何才能找到大於23的全部元素呢, element

1,下面是傳統的解決思路,就是用$.each(),這種用法,先不說這種用法好很差,先看代碼:get

var max23=[];博客

$.each(arr,function(index,value){if(value>23){ max23.push(value)}});it

而後在console中輸入max23 輸出值以下:io

 

 結果一目瞭然,這種解決方法感受比較慢若是有個幾萬個數據再這樣一條條查找效率確定很低,有沒有其餘的解決辦法了呢console

2,下面看一種JS數組的Fliter 這個新屬性方法能不能帶來質的改變呢function

下面是代碼:

arr.filter(function(element,pos){return element>23})

在console中運行能夠直接看到:

哈,如今你們看大filter的厲害了吧,主要是filter中的callback 函數直接返回了全部符合條件的函數,下面給你們看個測試的小例子,你們看返回什麼值,若果你猜對了,那麼filter之後就會用了,

function whatDoesItDo(arr){
 
return arr.filter(function(elem, pos) {
return arr.indexOf(elem) == pos;
});
 
};
 
試試效果,js就是這麼神奇
我是Rhino ,歡迎你們加我博客,交流
相關文章
相關標籤/搜索