javascript - 检查数组中的空元素
问题描述
类似于我最近发布但不一样的东西:-)
我正在尝试在 GAS 中测试数组是否包含任何空值。includes()
似乎不受支持,所以我一直在尝试使用索引,但失败得很惨。我的测试代码在下面,在 7 之前有空元素
var e = [1,2,3,4,2,4,,7];
var x = 0;
if (e.indexOf() ==-1){
var x = 'No blanks';
}
但无论我尝试什么,它总是通过。我已经尝试过indexOf("")
, indexOf('')
& indexOf()
。
我已经没有东西可以尝试了,所以任何帮助都会得到很大的帮助!
解决方案
你有一个备用阵列。缺少的元素不是空字符串,它根本不存在。因为缺少的元素也不是可枚举的,所以当你使用数组方法时它不会显示出来indexOf
。您可以检查键的数量是否等于length
数组的数量:
var e = [1,2,3,4,2,4,,7];
var x = Object.keys(e).length === e.length
? 'OK!'
: 'Blank element detected';
console.log(x);
// constrast with a normal array:
e = [1,2,3,4,2,4,7];
x = Object.keys(e).length === e.length
? 'OK!'
: 'Blank element detected';
console.log(x);