我們知道在es6中filter和map同時(shí)用來(lái)方便操作數(shù)組。他們的區(qū)別我們先用例子來(lái)理解一下。
一、filter:
語(yǔ)法: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會(huì)移除所有為假的數(shù)據(jù),換句話說(shuō)量九,也就是過(guò)濾,過(guò)濾出滿(mǎn)足條件的數(shù)據(jù)颂碧。
二荠列、map:
語(yǔ)法:arr.map(function(val,index,arr){})
用相同的代碼來(lái)實(shí)現(xiàn),看看結(jié)果是什么
eg:arr = [2,10,50,0,13];
arr.map(function(val){
? ? return val > 10;
????console.log(val) //返回?[false, false, true, false, true]
})
所以map一般適用于計(jì)算载城,可以返回計(jì)算結(jié)果肌似。
但是當(dāng)遇到條件判斷時(shí),只會(huì)返回是否為ture或false诉瓦。