var array = [false,true,true,true,true];
如果数组中的任何项为false,我想返回false,如果所有项都为true,则返回true。有没有一个快速的方法来完成所有的样板?在python中我会使用“if is in”语法。
答案 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;
}
我只为那些不知道箭头的人写了这个。