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方法遍历数组,空位直接跳过。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 扩展运算符 含义 扩展运算符是三个点(...)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。 ...
    oWSQo阅读 350评论 0 0
  • Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-lik...
    陈老板_阅读 393评论 0 0
  • 1.Array.from Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-lik...
    赵然228阅读 750评论 0 0
  • 扩展运算符 含义 扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗...
    小挠许阅读 224评论 0 0
  • ES6 数组拓展 ES6为Array新增的扩展 ...**(拓展运算符)---三个点将一个数组转为用逗号分隔的参数...
    动感超逗阅读 738评论 0 1

友情链接更多精彩内容