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]
如何将数字转换为该数字范围的数组。
答案 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
函数来获取所生成数组的索引的迭代器。使用...
扩展运算符将迭代器转换为数字数组,直到指定范围。
keys()方法返回一个新的Array Iterator对象,该对象包含 数组中每个索引的键。
Array.prototype.range = (n) => {
return [...new Array(n+1).keys()].slice(1, n+1);
}
console.log([].range(5));