怎么判断数组中有没有未定义的[,,1,,3]

怎么判断数组中有没有未定义的,例如数组:[,,1,,3],尝试indexOf不行,求思路

阅读 3.1k
3 个回答

遍历一下是否有undefined不就行了?

indexOf 可行啊,为啥不行?find等也可以啊。

除此之外,这事儿还可以自己遍历,以经典的for循环为例:

Array.prototype.hasVal = function(val) {
  var i = 0, n = this.length;
  for (; i < n; ++i) if (this[i] === val) return true;
  return false;
}

console.log([,,1,,3].hasVal(undefined));

更新,有个诡异的事情,你们敢信?

这是在sf的控制台执行的
clipboard.png

这是在mdn的控制台执行的
clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题