【JavaScript细节】map与forEach的区别

forEach ⽅法是⽆法中断的,即使在遍历过程中使⽤ return 语句也⽆法停⽌遍历。⽽ map ⽅法可以使⽤ return 语句中断遍历。

map ⽅法会⽣成⼀个新的数组,并将每次遍历的返回值按顺序放⼊新数组中。⽽ forEach⽅法没有返回值,仅⽤于遍历数组。

map ⽅法可以链式调⽤其他数组⽅法,⽐如 filter 、 reduce 等。⽽ forEach ⽅法不能链式调⽤其他数组⽅法。

js
const numbers = [1, 2, 3, 4, 5];
// 使⽤ forEach ⽅法遍历数组
numbers.forEach(function(item, index, array) {
console.log(item); // 输出数组元素
console.log(index); // 输出索引值
console.log(array); // 输出原数组
});
// 使⽤ map ⽅法遍历数组并⽣成新数组
const doubledNumbers = numbers.map(function(item, index, array) {
return item * 2;
});
console.log(doubledNumbers); // 输出 [2, 4, 6, 8, 10]

在上⾯的示例中,使⽤ forEach ⽅法遍历数组并输出元素、索引和原数组。⽽使⽤ map ⽅法遍历数组并返回每个元素的两倍值,⽣成⼀个新的数组 doubledNumbers 。注意,在 map 的回调函数中使⽤了 return 语句来指定返回值。

forEach ⽅法⽤于遍历数组,没有返回值;

map ⽅法也⽤于遍历数组,返回⼀个新的数组,并且可以通过在回调函数中使⽤ return 语句来指定每次遍历的返回值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值