首页 > 解决方案 > Array.from({length: 5}) 和 Array(5).fill(undefined) 有什么区别?

问题描述

有什么区别:

Array.from({length: 5})

Array(5).fill(undefined)

undefined我可以看到这两种方法都在创建一个带有值的数组。

但我不明白他们的区别。

标签: javascript

解决方案


它们有不同的用例。Array.from例如,对于一些返回类数组对象但不返回数组方法的 DOM 方法很有用。主要是将类似数组的东西转换为Array.

const children = document.getElementById('container').children;
console.log(children);

const childrenArray = Array.from(children);
console.log(childrenArray)
<div id="container">
  <div>Block 1</div>
  <div>Block 2</div>
  <div>Block 3</div>
  <div>Block 4</div>
</div>

Array.fill如果您有一些已知大小的数组并希望用某个值填充它,则更为直接。


推荐阅读