如何不进行 for循环而将number
转换为array
呢?
类似这样的东西:
var days = 30;
var days = days.toArray(); // Output - [1, 2, 3, 4, 5, 6, 7, 8, 9, ...]
我目前正在做的事情是
var days = 30;
var days = 30;
var array = [];
for(var i = 1;i <= 30;i++) {
array.push(i);
}
console.log(array);
答案 0 :(得分:3)
Array.from()
有一个可选参数mapFn
,它使您可以对正在创建的数组(或子类对象)的每个元素执行一个map
函数。更清楚的是,Array.from(obj, mapFn, thisArg)
与Array.from(obj).map(mapFn, thisArg)
的结果相同,只是它不会创建中间数组。
通过传递一个对象,其长度属性作为第一个参数,并将map函数作为第二个参数,来尝试Array.from()
:
var days = 30;
var days = Array.from({length: days}, (v, i) => i+1);
console.log(days)
答案 1 :(得分:1)
您可以使用传播语法。
参考文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
array = [...Array(30).keys()]
console.log(array);