如果数组中的任何项目=== x则返回false

时间:2017-12-23 23:35:38

标签: javascript node.js

var array = [false,true,true,true,true];

如果数组中的任何项为false,我想返回false,如果所有项都为true,则返回true。有没有一个快速的方法来完成所有的样板?在python中我会使用“if is in”语法。

5 个答案:

答案 0 :(得分:4)

在您的情况下,您使用every()方法。该方法期望每次迭代中的每个返回值都计算为true,因此只需传递当前值,所有这些都是布尔值就足够了,没有任何额外的逻辑。



var array = [false, true, true, true, true].every(bool => bool);

console.log(array);




答案 1 :(得分:1)

选项1:您可以使用.indexOf()。如果false包含myArray,则此示例将返回false,否则返回true

function hasNoFalse(myIndex) {
  return myArray.indexOf(false) === -1;
}

选项2:您可以使用.some().every()

  

如果数组中的任何项目为false,我想返回false

return myArray.some((val) => val === false)
  

并且只有在所有项都为真时才返回true。

return myArray.every((val) => val === true)

答案 2 :(得分:0)

你可以使用.indexOf(element),如果结果大于-1,那么数组中的那个元素

答案 3 :(得分:0)

a.every(function(val){
    return val == true;
});

了解详情:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every

答案 4 :(得分:0)

虽然每个人都在使用箭头功能,但这是一种没有它的方法

function myFunction(array) {
var b = 0;
array.forEach(function(element) {

    if(element)
        b++
});
if(b == array.length)
    return true;
else 
    return false;
}

我只为那些不知道箭头的人写了这个。