检查数组中的每个元素

3

如何以最高效的方式检查数组中每个元素是否符合某一条件,并在一个或多个元素不满足条件时返回 false。例如,我有以下数组:

arr = ["foo","azeaze", "wazeazerar"]
    for(var ar in arr){
      if(ar.length > 5){
        console.log(false)
      }else{
        console.log(true)
      } 
    }

正如您所看到的,即使元素"foo"length不大于5,它仍然返回true。


你尝试过自己调试来查看 ar 包含了什么吗? - Nico Haase
即使它没有回答我的问题,它仍被标记为重复。 - arkahn jihu
当然,是的:如果你想迭代一个数组的值,就不应该使用 for...in - Nico Haase
1个回答

8
您可以在一行函数中使用 Array.prototype.every()

arr = ["foo","azeaze", "wazeazerar"]

const isittrue = currentval =>  currentval.length > 2

console.log(arr.every(isittrue));

 arr = ["foo","azeaze", "wazeazerar"]
    console.log(arr.every(elem => elem.length >= 5))


谢谢您,幸好您在管理员将其标记为重复之前回答了我的问题,因为我不明白为什么他会将其标记为重复,即使这不是我所问的。 - arkahn jihu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接