除了使用Lodash和ES6之外,检查所有空值数组的最佳方法是什么?
var emp = [null, null, null];
if (_.compact(emp).length == 0) {
...
}
除了使用Lodash和ES6之外,检查所有空值数组的最佳方法是什么?
var emp = [null, null, null];
if (_.compact(emp).length == 0) {
...
}
副注:您的解决方案实际上并没有检查全为空数组,它只是检查了一个全否定数组。 [0, false, '']
仍然可以通过检查。
您可以使用 Array#every
方法来检查数组的每个元素是否满足特定条件:
const arr = [null, null, null];
console.log(arr.every(element => element === null));
every
接受一个回调函数,其中第一个参数是当前迭代的元素。回调返回true表示该元素为null,false表示不是。如果对于所有元素,回调都返回true,则结果为true,因此如果数组中所有元素都为null,则结果为true。
Array#every
或 lodash 的 _.every()
与 _.isNull()
一起使用:
var emp = [null, null, null];
var result = emp.every(_.isNull);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
var emp = [null, null, null];
if(emp.join(',').replace(/,/g, '').length === 0) {
console.log('null');
}