在 JavaScript 中检查数组中的所有值是否为假

检查数组中的所有值是否为 False

Check if all Values in Array are False in JavaScript

要检查数组中的所有值是否都等于false,请使用该
every()方法遍历数组并将每个值与 进行比较false,例如arr.every(value => value === false)如果所有数组元素都等于 ,every方法将返回
truefalse

索引.js
// ✅ All are equal to `false` function allAreFalse(arr) { return arr.every(element => element === false); } console.log(allAreFalse([false, false])); // 👉️ true console.log(allAreFalse([false, true])); // 👉️ false // ✅ All are falsy function allAreFalsy(arr) { return arr.every(element => !element); } console.log(allAreFalsy([0, '', false])); // 👉️ true console.log(allAreFalsy([1, 'test', true])); // 👉️ false

我们传递给
Array.every
方法的函数会针对数组中的每个元素进行调用,直到它返回一个虚假值或遍历整个数组。

如果该函数至少返回一次假值,则该every方法短路也会返回false.

JavaScript 中的假值是:false, null, undefined, 0, ""
(空字符串),
NaN(不是数字)。所有其他值都是真实的。

在第一个示例中,我们检查数组中的每个元素是否相等并返回结果。如果所有数组元素都满足条件,则该方法返回 falseeverytrue

请注意,检查一个值是否等于与false检查该值是否为假是不同的。

要检查数组中的所有值是否均为假值,请使用该every()方法遍历数组,将每个值转换为布尔值,取反并返回结果。如果数组中的所有值都是假的,该every方法将返回
true

索引.js
function allAreFalsy(arr) { return arr.every(element => !element); } console.log(allAreFalsy([0, '', false])); // true console.log(allAreFalsy([1, 'test', true])); // false

在每次迭代中,我们使用
逻辑 NOT (!)
运算符将每个值转换为布尔值并反转结果。

下面是一些使用逻辑 NOT (!) 运算符的示例。

索引.js
console.log(!true); // 👉️ false console.log(!false); // 👉️ true console.log(!'str'); // 👉️ false console.log(!''); // 👉️ true console.log(!null); // 👉️ true

如果数组只包含虚假值,我们传递给every()
方法的函数将
true在所有迭代中返回并通过测试。