// JavaScript中的forEach()、map()和filter()方法都可以用于对数组进行遍历,但它们有以下不同点:
// 返回值:forEach()没有返回值,而map()和filter()返回一个新数组。
// 副作用:forEach()可以改变原始数组中元素的值,而map()和filter()不会改变原始数组。
// 使用场景:forEach()可用于执行副作用操作(如打印数据、修改DOM等),
// map()则更适合于执行映射转换(如将所有元素加上10),
// 而filter()则更适合于从数组中过滤出符合条件的元素。
// 例如:
const arr = [1, 2, 3, 4, 5];
// forEach()示例
arr.forEach(item => console.log(item)); // 输出 1 2 3 4 5
arr.forEach((item, index) => arr[index] = item + 10);
console.log(arr); // 输出 [11, 12, 13, 14, 15]
// map()示例
const newArr1 = arr.map(item => item * 2);
console.log(newArr1); // 输出 [22, 24, 26, 28, 30]
console.log(arr); // 输出 [11, 12, 13, 14, 15]
// filter()示例
const newArr2 = arr.filter(item => item % 2 === 0);
console.log(newArr2); // 输出 [12, 14]
console.log(arr); // 输出 [11, 12, 13, 1
JS JavaScript中的forEach()、map()和filter()的区别
最新推荐文章于 2024-06-12 11:59:04 发布