参考
1、区别与相似点
相似点:
- map与filter都是用于无修改 遍历
- 不会对空数组进行检测。
- 不会改变原始数组。
- 创建一个新的数组,
区别:
map() 方法返回一个新数组,新数组中的元素为原始数组元素调用函数处理后的值。
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
2、具体
2.1 map
newArray = Array.map(function(currentValue,index,Array){
return value
},thisValue)
//返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
var numbers = [65, 44, 12, 4];
function multiplyArrayElement(num) {
return num * document.getElementById("multiplyWith").value;//value
}
function myFunction() {
document.getElementById("demo").innerHTML = numbers.map(multiplyArrayElement);
}
2.2 filter
newArray = Object.filter(function(value,index){
return true/false
})
//true的值被添加到newArray中
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAdult);
}
3、使用场景
3.1 map 再创
3.2 filter 筛选
期待批评指正!