首页 > 解决方案 > JavaScript 数组中的省略索引

问题描述

undefinedJavaScript数组中的元素有什么区别:

  1. 直接创建,
  2. 用省略创建?

案例 1. 和 2. 的元素都有undefined类型和值,但在省略号中出生的元素没有索引(或任何可枚举的属性,它们的数组有一个Array.length明确的正确性)。你能介绍一下这方面的背景吗?

例子:

// case 1.
const undefineds = [undefined, undefined, undefined].map((el, i) => i)
console.log(undefineds, undefineds.length, 'undefineds')

// case 2.
const empties = [,,,].map((el, i) => i)
console.log(empties, empties.length, 'empties')

输出:

Array [0, 1, 2] 3 "undefineds"
Array [undefined, undefined, undefined] 3 "empties"

注意:在案例 2 中。我知道不仅索引i未定义,而且迭代返回的任何内容,例如:[,,,].map((el, i) => 'puppies')=> [undefined, undefined, undefined]

标签: javascriptarrayselision

解决方案


推荐阅读