创建数组新方法

今天遇到一个需求,想创建一个长度为81的数组,数组的每个值都等于它的索引值。于是我用下面方法做

var arr = new Array(81)

var arr2 = arr.map((item, index) => {
    return index
})
console.log(arr2)

打印结果如下

可以看出arr2仍然是一个长度为81的没有值的数组。查阅map方法得知,map的回调函数只会在有值的索引上被调用,那些从来没被赋值或者被delete删除的索引不会调用。所以以上方法不可行。

记录一段较简单的处理代码

var arr = Array.apply(null, { length: 81 }).map((item, index) => index)

创建一个带有属性length为指定长度的对象,调用Array方法,为数组每个值赋值null,再使用map方法。

posted @ 2019-01-14 20:16  懒懒同学不懒  阅读(454)  评论(0编辑  收藏  举报