为什么没有数组(n)。forEach循环n次?

时间:2016-04-01 03:44:02

标签: javascript arrays

Array(3)会产生[ , , ]length为3。

按预期,

[1, 2, 3].forEach循环3次。

然而,Array(3).forEach[ , , ].forEach都没有循环。

这是为什么?我以为我发现了一种n次做某事而不使用for循环的方式,我很失望地发现它不起作用!

1 个答案:

答案 0 :(得分:2)

  

forEach()为每个存在的元素执行一次提供的回调   在数组中按升序排列。它不是为索引调用的   已删除或未初始化的属性(即稀疏属性)   阵列)

来自MDN的示例:

Fiddle

function logArrayElements(element, index, array) {
  console.log('a[' + index + '] = ' + element);
}

// Notice that index 2 is skipped since there is no item at
// that position in the array.
[2, 5, , 9].forEach(logArrayElements);
// logs:
// a[0] = 2
// a[1] = 5
// a[3] = 9

Have a look at MDN article.