检查数组中的所有值是否都为true,然后返回一个true布尔值语句(javascript)

Jea*_*ell 1 javascript arrays boolean

我有一个布尔数组,它以false开头,因为至少一个值是false: varvalidation = [false,true,true] 在特定时刻,它将所有options(index)都设置为“ true” ,例如: validation = [true,true,true] 当所有选项都为true时如何将该数组设置为“ true”?

很抱歉这个愚蠢的问题。

小智 11

您可以使用“includes”方法检查数组是否具有“false”值,例如:

if (validation.includes(value)) {
    // ... your code
}
Run Code Online (Sandbox Code Playgroud)


San*_*epa 10

您可以使用它来检查数组中的每个值是否为真,

validation.every(Boolean)
Run Code Online (Sandbox Code Playgroud)

  • @TOLULOPEADETULA 这是预料之中的。“FALSE”是 JS 中的真值。您不能根据字符串值的内容将其评估为 false (11认同)

Moh*_*man 5

您可以使用.every()方法:

let arr1 = [false, true, true],
    arr2 = [true, true, true];

let checker = arr => arr.every(v => v === true);

console.log(checker(arr1));
console.log(checker(arr2));
Run Code Online (Sandbox Code Playgroud)

如@Pointy所述,您可以简单地将Boolean回调作为传递给every()

let arr1 = [false, true, true],
    arr2 = [true, true, true];

let checker = arr => arr.every(Boolean);

console.log(checker(arr1));
console.log(checker(arr2));
Run Code Online (Sandbox Code Playgroud)

  • 或简单地说“ let result = arr1.every(Boolean);”-布尔值构造函数将返回“ true”或“ false”。 (3认同)