检查数组中的所有值是否为 False
Check if all Values in Array are False in JavaScript
要检查数组中的所有值是否都等于false
,请使用该
every()
方法遍历数组并将每个值与 进行比较false
,例如arr.every(value => value === false)
。如果所有数组元素都等于 ,该every
方法将返回
。true
false
索引.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
(不是数字)。所有其他值都是真实的。
在第一个示例中,我们检查数组中的每个元素是否相等并返回结果。如果所有数组元素都满足条件,则该方法返回。
false
every
true
请注意,检查一个值是否等于与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
在所有迭代中返回并通过测试。