不迭代的Javascript数组空检查

Javascript array null check without iterating

本文关键字:检查 数组 Javascript 迭代      更新时间:2023-09-26

嗨,我有一个数组:[null,null,null,null]在javascript。我怎么知道如果数组的所有值都等于null而不迭代它?

没有办法检查所有的null值,您必须遍历它,或者您调用的函数必须在后台执行。但是,如果您愿意,您可以使用原生Array方法filter来帮助您。

var allNull = !arr.filter(Boolean).length;

这将适用于任何假值,如未定义、零、NaN或空字符串。更精确的形式是

var allNull = !arr.filter(function(elem){ return elem !== null; }).length;

只检查 null。

另一种可能性是使用.join:

var allNull = !arr.join("").length;

检查nullundefined""

有各种内置方法可以提供帮助,其中之一是every来测试每个值是否为空。它将返回false在第一个null:

var noNulls = array.every(function(value){return value !== null});
另一个是some,它将在第一个null处返回true:
var hasNulls = array.some(function(value){return value === null});