[英]Check for empty element in array
类似于我最近发布的内容,但不相同:-)
我正在尝试在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);
要查找所有空元素的键(如果有):
var e = [1,,3,4,2,,7]; var o = Object.keys(e); m = []; o.forEach(function(e,i){ if(i>0 && eo[i-1]>1){ m.push(e-1) } }) console.log(m); console.log(m.length);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.