不可行方案:
请看如下代码:
let arr = new Array(10).map((item, index) => { return index })
这个是为啥子不行啊,请看下图,MDN的解释
new Array(10)创建是长度为10的数组,他是一个没有填充物的数组,使用map是无法遍历的,所以不会有值出现在map之后的数组中。
可行方案:
1. for循环
const arr = []
for(let i=0; i< 10; i++) {
arr.push(i)
}
2. 递归
let arr = []
function addNum(num){
if (num < 10) {
arr.push(num) addNum(++num)
}
}
addNum(0)
3. Array.apply()
let arr = Array.apply(null, {length: 10}).map((item, index) => { return index })
4. Array.from()
let arr = Array.from({length: 10}).map((item, index) => { return index })
5.Array.prototype.fill
let arr = new Array(10).fill(1).map((item, index) => { return index })