编程语言
首页 > 编程语言> > javascript – 将Array.map与新的Array构造函数一起使用

javascript – 将Array.map与新的Array构造函数一起使用

作者:互联网

我试图使用新的Array()构造函数与map,以创建一个单行代码,创建一个元素列表.像这样的东西:

let arr = new Array(12).map( (el, i) => {
  console.log('This is never called');
  return i + 1;
});

阅读docs,行为是有道理的.

Basically docs say that callback of map will be executed even for declared undefined values in array, but not for example when creating empty Arrays like the code before.

所以这应该工作:

var arr = new Array(12);

for(let i = 0; i < arr.length ; i++){
  arr[i] = undefined;
}

let list = arr.map( (e, i) => {
  console.log(i + 1);
  return i + 1;
});

所以,我们也可以这样做:

let newArray = (length) => {
  let myArray = new Array(length);
  for(let i = 0; i < length; i++) myArray[i] = undefined;
  return myArray;
};

console.log( newArray(12).map( (el, i) => i + 1 ) );

所以我的问题.有没有更好/漂亮的方式来做地图功能?

提前致谢!

解决方法:

您可以使用Array#from创建一个已通过长度的数组.

Array.from({length: 12}, (e, i) => i + 1);

标签:map-function,javascript,arrays
来源: https://codeday.me/bug/20190929/1831179.html