将数字转化为数组-无需使用for循环的JavaScript

8 浏览
0 Comments

将数字转化为数组-无需使用for循环的JavaScript

这个问题已经有答案了:

JavaScript是否有一个类似于“range()”的方法,可以在提供的界限内生成一个范围?

如何将一个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日
0
0 Comments

您可以使用展开语法。

参考文档: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax

array = [...Array(30).keys()]
console.log(array);

0
0 Comments

Array.from()

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)

0