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

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

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

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

【问题讨论】:

  • 你能贴出你试过的代码吗?
  • 顺便说一句,索引从零开始。

标签: javascript ecmascript-6


【解决方案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));

      【讨论】:

        猜你喜欢
        • 2016-11-06
        • 2012-08-28
        • 2017-12-19
        • 2010-09-17
        • 2020-05-17
        • 2014-11-23
        • 2021-11-17
        • 1970-01-01
        • 2017-06-02
        相关资源
        最近更新 更多