Array.from方法
javascript
const arr = Array.from({length: 10}, (_, index) => index + 1);
console.log(arr); // 输出结果为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
{ length: 10 }
: 表示要创建的新数组的长度为 10。这个对象只有一个属性length
,用于指定数组的长度。_
: 在回调函数中表示当前遍历的元素。在这个场景中,不需要使用当前元素的值,因此使用下划线_
来表示占位符。index
: 回调函数的第二个参数,代表当前遍历元素的索引,从 0 开始。index + 1
: 回调函数的返回值,表示当前元素的值。由于索引是从 0 开始的,因此需要在索引上加 1。
Array方法
javascript
const arr = Array(10).fill().map((_, index) => index + 1);
console.log(arr); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-
Array(10)
:创建了一个长度为10的空数组,但数组的元素都是undefined
。参数10
指定了数组的长度为10。 -
.fill()
:这一方法将数组的每个元素都填充为指定的值。由于没有传递任何参数给fill()
,默认情况下会用undefined
填充数组的每个元素。 -
.map((_, index) => index + 1)
:这一方法对数组中的每个元素执行指定的函数,并返回由每个函数的结果组成的新数组。使用map()
函数来生成一个新数组,其中每个元素的值是其在数组中的索引值加1。参数_
表示当前元素的值,而index
表示当前元素的索引。
javascript
const arr = [...Array(10).keys()].map(x => x + 1);
console.log(arr); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-
Array(10)
:这一部分创建了一个长度为10的空数组,但数组的元素都是undefined
。参数10
指定了数组的长度为10。 -
.keys()
:这一方法返回一个新的 Array 迭代器对象,该对象包含数组中每个索引的键0-9。 -
[...Array(10).keys()]
:这一部分利用了扩展运算符...
将迭代器转换为数组。得到了一个包含数字0到9的数组。 -
.map(x => x + 1)
:使用map()
函数来生成一个新数组,其中每个元素的值是其索引值加1。
目前对Array.from的使用方法理解还不够透彻,后续学习后会专门出一篇对于Array.from方法的解读,仍有取得上述数组更加便捷的方法的话,还希望各位小伙儿们评论区评论哦,共同学习!