JavaScript 数组的空位

数组的空位指,数组的某一个位置没有任何值。
声明数组为 ,Array构造函数返回的数组都是空位。
空位不是undefined,而是没有任何值;一个位置的值等于undefined,依然是有值的

Array(2) // [, ,]
ES5 对空位的处理,大多数情况下会忽略空位。
  • forEach(), filter(), reduce(), every() 和some()都会跳过空位。
  • map()会跳过空位,但会保留这个值
  • join()和toString()会将空位视为undefined,而undefined和null会被处理成空字符串。
ES6 则是明确将空位转为undefined。

不会忽略空位:将空位转为undefined

  • Array.from方法
  • 扩展运算符(...)
  • entries()
  • keys()
  • values()
  • find()
  • findIndex()
    其他处理:
    copyWithin()会连空位一起拷贝;
    fill()会将空位视为正常的数组位置;
    for...of循环也会遍历空位;

map方法遍历数组,空位直接跳过。

你可能感兴趣的:(JavaScript 数组的空位)