首页 > 解决方案 > 检查数组中的空元素

问题描述

类似于我最近发布但不一样的东西:-)

我正在尝试在 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()

我已经没有东西可以尝试了,所以任何帮助都会得到很大的帮助!

标签: javascriptgoogle-apps-script

解决方案


你有一个备用阵列。缺少的元素不是空字符串,它根本不存在。因为缺少的元素也不是可枚举的,所以当你使用数组方法时它不会显示出来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);


推荐阅读