我們知道在es6中filter和map同時用來方便操作數組。他們的區(qū)別我們先用例子來理解一下。
一、filter:
語法:arr.filter(function(val,index,arr){})
eg:arr = [2,10,50,0,13];
arr.filter(function(val){
? ? return val > 10;
? ??console.log(val)? //返回[50,13]
})
由此可得出:
filter會移除所有為假的數據,換句話說,也就是過濾,過濾出滿足條件的數據。
二、map:
語法:arr.map(function(val,index,arr){})
用相同的代碼來實現,看看結果是什么
eg:arr = [2,10,50,0,13];
arr.map(function(val){
? ? return val > 10;
????console.log(val) //返回?[false, false, true, false, true]
})
所以map一般適用于計算,可以返回計算結果。
但是當遇到條件判斷時,只會返回是否為ture或false。