JS数组遍历

2020-12-21  本文已影响0人  于贺美

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]
上一篇 下一篇

猜你喜欢

热点阅读