如何检查数组的所有元素是否为空?

Meg*_*han 1 javascript ecmascript-6

除了使用Lodash(可能还有ES6)之外,检查具有所有空值的数组的最佳方法是什么?

var emp = [null, null, null];
if (_.compact(emp).length == 0) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

Li3*_*357 15

旁注:您的解决方案实际上并未检查全零数组.它只是检查一个全假的数组.[0, false, '']仍会通过支票.

您可以使用该Array#every方法检查数组的每个元素是否满足特定条件:

const arr = [null, null, null];
console.log(arr.every(element => element === null));
Run Code Online (Sandbox Code Playgroud)

every采用一个回调,其中第一个参数是迭代的当前元素.如果元素为null,则回调返回true,否则返回false.如果对于所有元素,回调返回true,则它将计算为true,因此如果数组中的所有元素都为null,则为true.