es6中filter和map的區(qū)別:map方法返回的新數(shù)組是原數(shù)組的映射,新數(shù)組與原數(shù)組長(zhǎng)度相同,數(shù)值不同;而filter方法返回的新數(shù)組是原數(shù)組過(guò)濾后的,新數(shù)組與原數(shù)組長(zhǎng)度不同,數(shù)值不變。
本教程操作環(huán)境:windows10系統(tǒng)、ECMAScript 6.0版、Dell G3電腦。
es6中filter和map的區(qū)別是什么
map和filter參數(shù)完全相同
array.filter(function(currentValue,index,arr), thisValue)
-
currentValue:數(shù)組元素;
-
index:索引
-
arr:原數(shù)組;
-
thisValue:作為該執(zhí)行回調(diào)時(shí)使用,傳遞給函數(shù),用作 “this” 的值
用途不同:
1、map方法返回的新數(shù)組是原數(shù)組的映射,何為映射?就是和原數(shù)組的長(zhǎng)度相同,數(shù)值做相應(yīng)處理。
2、filter方法返回的值是過(guò)濾原數(shù)組后的新數(shù)組,和原數(shù)組長(zhǎng)度不同,數(shù)值不變。
示例如下:
filter:
語(yǔ)法:
arr.filter(function(val,index,arr){})
由此可得出:
filter會(huì)移除所有為假的數(shù)據(jù),換句話說(shuō),也就是過(guò)濾,過(guò)濾出滿足條件的數(shù)據(jù)。
map:
語(yǔ)法:
arr.map(function(val,index,arr){})
用相同的代碼來(lái)實(shí)現(xiàn),看看結(jié)果是什么
所以map一般適用于計(jì)算,可以返回計(jì)算結(jié)果。
但是當(dāng)遇到條件判斷時(shí),只會(huì)返回是否為ture或false。
【