如何在JavaScript中将数字转换为数组范围

时间:2019-01-22 15:35:27

标签: javascript

number = 5
{[...Array(this.props.pages+1)].map((x, i) =>
          <h2 key={i} onClick={()=>this.demoMethod(i+1)} className="tc">{ i+1 }</h2>
)}
//expecting result: [1,2,3,4,5]

如何将数字转换为该数字范围的数组。

4 个答案:

答案 0 :(得分:2)

为什么不创建一个循环来执行您需要的操作。只要您有电话号码:

    const number = 5;
    const numberArray = [];
    
    for(let i = 1; i <= number; i++){
        numberArray.push(i);
    }
    console.log(numberArray);

答案 1 :(得分:2)

这可能是您想要的。

const number = 5;

const result = new Array(number).fill(true).map((e, i) => i+1);

console.log(result); // Consoles  [1,2,3,4,5]

在您的情况下,您缺少fill部分。

使用[...Array(this.props.pages+1)].fill(true).map(...)

答案 2 :(得分:1)

ES6解决方案:

new Array(5).fill(undefined).map((v,i) => i+1);

答案 3 :(得分:0)

使用Array.prototype.keys函数来获取所生成数组的索引的迭代器。使用...扩展运算符将迭代器转换为数字数组,直到指定范围。

Docs

  

keys()方法返回一个新的Array Iterator对象,该对象包含   数组中每个索引的键。

Array.prototype.range = (n) => {
 return [...new Array(n+1).keys()].slice(1, n+1);
}
console.log([].range(5));