你真的了解forEach吗?

本文探讨了JavaScript中数组forEach方法的常见误区,包括能否修改原数组及如何提前终止循环。通过实例解析了如何正确使用forEach,并提供了不同于常规循环的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

数组的forEach应该是我们平常使用最多的数组方法,它可以很好的代替for循环来实现我们的需求。forEach的使用想必大家都很熟悉了,下面我们就来介绍一下关于forEach大家可能平常不太在意的点。


一、forEach可以改变原数组吗?

直接用代码进行解释:如果输出的arr是[2, 3, 4, 5],则说明可以改变原数组。

const arr = [1, 2, 3, 4];
arr.forEach((item,idx) => {
  item += 1
})
console.log(arr);

在这里插入图片描述
结果打印的还是 [1, 2, 3, 4],说明当我们对item进行操作的时候并不会影响到原数组。
如果想在forEach里面修改原数组,我们只能通过数组的索引进行修改。例如:arr[idx] = 5

二、怎样终止forEach?

当我们使用for循环时,满足某种条件我们可以使用return、break去终止后续的循环。
使用return (只能中断本次循环)
输出结果:return 1 return 3 return 4

const arr = [1, 2, 3, 4];
arr.forEach(item => {
  if(item === 2) return;
  console.log("return", item);
})

使用breack (报错)

const arr = [1, 2, 3, 4];
arr.forEach(item => {
  if(item === 2) break;
  console.log("return", item);
})

使用try...catch...(成功终止后续循环)
输出结果:return 1 哈哈

try {
  arr.forEach(item => {
    if(item === 2) throw('哈哈')
    console.log("return",item);
  })
} catch(err){
  console.log(err);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值