Array.apply(null, {length: 20})

2022-03-29  本文已影响0人  不要面包要蛋糕

在阅读 vue 教程时,发现一段代码:

render: function (createElement) {
  return createElement('div',
    Array.apply(null, { length: 20 }).map(function () {
      return createElement('p', 'hi')
    })
  )
}

好奇其中的 Array.apply(null, {length: 20}) 是什么意思

经查证得知,Array.apply(null, {length: 20}) 会创建一个每个值都初始化为 undefined ,长度为20的数组;而 Array(20) 只会创建一个长度为20的空数组。

此处用 Array.apply(null, args) 是因为 map 不会遍历数组中没有被初始化或者被 delete 的元素,(forEach reduce 同样适用)。

上一篇下一篇

猜你喜欢

热点阅读