我有下面的代码。我有目的地尝试在这种情况下使用 forEach 。
function check(arr, el) {
arr.forEach((element) => {
console.log(element)
if (element === el) {
return true
}
})
}
check([1, 2, 3, 4, 5], 3)
我期望代码返回 true,因为 el 值 3 在数组中。但它返回的是未定义的。我究竟做错了什么?
最佳答案
forEach不要return任何东西(意味着未定义),你可以使用 some
function check(arr, el) {
return arr.some( element => element === el)
}
console.log(check([1, 2, 3, 4, 5], 3))
如果您想使用forEach
,而不是使用变量来存储值并稍后从函数返回
function check(arr, el) {
let found = false
arr.forEach((element) => {
if (element === el && !found){
found = true
}
})
return found
}
console.log(check([1, 2, 3, 4, 5], 3))
关于JavaScript:使用 forEach 查看数组是否包含特定数字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56348810/