JS 生成长度为10的数组

633 阅读1分钟

不可行方案:

请看如下代码:

let arr = new Array(10).map((item, index) => { return index })

这个是为啥子不行啊,请看下图,MDN的解释

企业微信截图_1689755920622.png 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 })