JavaScript:使用 forEach 查看数组是否包含特定数字值

标签 javascript arrays function input element

我有下面的代码。我有目的地尝试在这种情况下使用 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/

相关文章:

python - 如何随机化 if/elif 语句的顺序?

javascript - 如何在 mvc 和 JavaScript 中使用异步获取发出发布请求?

javascript - yeoman install [package] 安装在/app/component 中

php - 从多维数组中获取结果,在 php 中没有重复结果

javascript - 根据嵌套值显示嵌套数组

c++ - 为什么我的 C++ 程序在将 lambda 转换为函数指针时崩溃

javascript - 通过 Javascript 动态调整行的高度表

javascript - 如何在实时 am4chart 上保持缩放位置

javascript - 将数组转为对象

c - 传递函数是否通过引用传递?