0%

优雅的创建1到N的数组

创建一个这样的数组:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[ ...Array(N).keys() ].map( i => i+1);

Array(N).fill().map((_, i) => i+1);

Array.from(Array(N), (_, i) => i+1)

Array.from({ length: N }, (_, i) => i+1)

Array.from({length: 5}, (v, k) => k+1);
// [1,2,3,4,5]

Array.from(Array(10).keys())
//=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

[...Array(10).keys()]
//=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Array.from({length: 10}, (_, i) => i + 1)
//=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

var N = 10;
Array.apply(null, {length: N}).map(Number.call, Number)
// result: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Array.apply(null, {length: N}).map(Function.call, Math.random)
// result: [0.7082694901619107, 0.9572225909214467, 0.8586748542729765, 0.8653848143294454, 0.008339877473190427, 0.9911756622605026, 0.8133423360995948, 0.8377588465809822, 0.5577575915958732, 0.16363654541783035]

后记

代码都是从网上抄下来的,Mark一下
https://stackoverflow.com/questions/3746725/how-to-create-an-array-containing-1-n