关于这两者的区别是一直想写的,网上看别人写的不是很全面。
1. map
不会改变原数组
有 return 返回值
2.forEach
没有return
可以中断 throw Error
正常下的 return
[1, 2, 3, 4, 5].forEach((v) => {
if (v == 3) {
return
}
console.log(v);
})
我们需要中断的话使用try catch 来捕获错误信息
try {
[1, 2, 3, 4, 5].forEach((v) => {
if (v == 3) {
throw Error('中断成功')
}
console.log(v);
})
} catch (error) {
console.log(error, '中断了');
}
关于 try catch
类似于 promise then catch
以下几种情况下会用到
1.forEach 中断
2.文件上传 失败的回调
3.网络请求