将数字转化为数组-无需使用for循环的JavaScript
将数字转化为数组-无需使用for循环的JavaScript
这个问题已经有答案了:
如何将一个number
轻松地转换为一个array
,而无需进行for循环?
类似这样
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);
admin 更改状态以发布 2023年5月22日
您可以使用展开语法。
参考文档: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax
array = [...Array(30).keys()] console.log(array);
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)