JS中通过some方法和forEach遍历数组的区别

一、some() 方法

some() 方法用于检测数组中是否有满足指定条件的元素。
语法: array.some(function(currentValue,index,arr),thisValue)
返回值: 布尔值
image

let arr = [10, 20, 30, 40, 50]
let test = arr.some((item) => {
if (item === 30) {
console.log(item)
return item
}
})
console.log(test)
// 30
// true

二、forEach() 方法

forEach() 方法是让数组的每一项元素执行指定函数
语法: array.forEach(callbackFn(currentValue, index, arr), thisValue)
返回值: undefined

image

let arr = [10, 20, 30, 40, 50]
let test = arr.forEach((item) => {
console.log(item)
})
console.log(test);
// 10
// 20
// 30
// 40
// 50
// undefined

三、区别

  1. some() 中遇到 return 就可以终止循环
  2. forEach() 遇到 return 也不会终止循环,而是需要等到数组全部遍历才能终止
let arr = [10, 20, 30, 40]
arr.some((item) => {
console.log(item)
if (item == 20) {
console.log('找到元素退出循环')
return true // 找到元素后可以直接终止循环
}
})
// 10
// 20
// 找到元素退出循环
console.log('-------------------------------')
arr.forEach((item) => {
console.log(item)
if (item == 20) {
console.log('找到元素退出循环')
return true // 找到元素后继续遍历后续元素
}
})
// 10
// 20
// 找到元素退出循环
// 30
// 40
posted @   如是。  阅读(341)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类
点击右上角即可分享
微信分享提示