在JavaScript中将整数转换为数组的简单方法[重复]

Posted

技术标签:

【中文标题】在JavaScript中将整数转换为数组的简单方法[重复]【英文标题】:Simple way to convert integer to array in JavaScript [duplicate] 【发布时间】:2020-07-17 10:02:08 【问题描述】:

有没有人知道简单干净的方法(可能使用 ES6)来获取

从“6”到数组[1, 2, 3, 4, 5, 6]或从“2”到[1, 2]

我知道我可以使用循环“for”,但是有没有更短的单行方式?

【问题讨论】:

你能贴出你试过的代码吗? 顺便说一句,索引从零开始。 【参考方案1】:

如果将迭代器添加到 Number 的原型中,甚至可以传播数字。

Number.prototype[Symbol.iterator] = function* () 
    for (var i = 0; i < this; i++) yield i;
;

console.log([...10]);

【讨论】:

【参考方案2】:

您可以在创建的数组[...Array(n).keys()]上使用扩展运算符

console.log([...Array(6).keys()])
console.log([...Array(2).keys()])
// or
console.log(Array.from(Array(6).keys(), i => i+1));
console.log(Array.from(Array(2).keys(), i => i+1));

【讨论】:

您也可以应用映射函数来获得与 OP 相同的输出:Array.from(Array(6).keys(), i =&gt; i+1) @NickParsons 同意【参考方案3】:

你可以使用 Array.from 它是回调

let range = num =>  Array.from( length: num , (_, i) => ++i)

console.log(range(6))
console.log(range(2))
console.log(range(-6))

【讨论】:

【参考方案4】:

Array.from()mapFn 一起使用

console.log(Array.from(length: 6, (_, i) => i + 1));
console.log(Array.from(length: 2, (_, i) => i + 1));

【讨论】:

以上是关于在JavaScript中将整数转换为数组的简单方法[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在java中将整数列表转换为整数数组[重复]

如何在JavaScript中将数字的二进制表示从字符串转换为整数?

在javascript中将字符串转换为对象数组的最佳方法?

如何在Javascript中将整数转换为具有固定长度的十六进制?

在Javascript中将对象转换为包含多个对象的数组的理想方法是啥? (允许 ES6)

在 C 中将字符串数组转换为 Int 数组的最佳方法