1.for in
index是String,不能进行运算,es6的转换应该可以
2.forEach
既不改变原数组也不生成新数组
3.map
会返回一个新数组,新数组包含的元素是之前return的结果,原数组保持不变
4.filter
有过滤的功能,可以满足条件的元素return生成一个新数组
总结一下
1.forEach不生成新数组,只单纯的遍历
2.map return return的结果数组
3.filter return 满足return条件的数组元素数组
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
let res = []
res = arr.forEach(el => {
return el % 2 == 0
});
console.log("forEach遍历前后对比");
console.log(arr);
console.log(res);
res = arr.map(el => {
return el % 2 == 0
});
console.log("map遍历前后对比");
console.log(arr);
console.log(res);
res = arr.filter(el => {
return el % 2 == 0
});
console.log("filter遍历前后对比");
console.log(arr);
console.log(res);
// forEach遍历前后对比
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
// undefined
// map遍历前后对比
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
// [false, true, false, true, false, true, false, true, false]
// filter遍历前后对比
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
// [2, 4, 6, 8]
网友评论