javascript - JavaScript:使用 forEach 查看数组是否包含特定的数值
问题描述
我有下面的代码。在这种情况下,我有意尝试使用 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 在数组中。但相反,它返回未定义。我究竟做错了什么?
解决方案
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))
推荐阅读
- java - 显示错误\。java.lang.NullPointerException:尝试在空对象引用上调用接口方法“java.lang.Object java.util.List.get(int)”
- flutter - 如何在 MultiProvider 中使用 GraphQLProvider?
- android - 无法在具有不同风格库的主项目中添加库
- android - 使用 Firebase AuthUI 时,如何在 Android 上登录 Google API?
- javascript - 将链接返回到数组中数组对象的有效且舒适的方法?
- javascript - 如何在没有 firebase 生成随机 ID 的情况下 push() - Webapp
- python-3.x - 优化邓恩指数计算?
- iphone - 有没有办法使用 Python 访问 iPhone 相机分辨率?
- docker - 如何进入 CoreDNS pod kuberrnetes?
- json - 使用 jenkins groovy 合并 JSON 文件