ES6阵列初始化

时间:2017-04-18 10:24:34

标签: javascript ecmascript-6

ES6非常新。 在ES5中,我可能会做这样的事情

function newArray(){
   var data = [];
   for(var i = 0; i < 5; i++){
    data[i] = "test data " + i;   
   }
  return data;
}

x = newArray()

我如何在ES6中执行此操作?我在下面的内容是错误的

 getData = () => ({
    let data = Array.from(new Array(5), (x, i) => "test data " + i)
    return {
        data
    }
})

2 个答案:

答案 0 :(得分:2)

您使用ES6

创建了错误的功能

getData = () =>{
    let data = Array.from(new Array(5), (x, i) => "test data " + i)
    return {
        data
    };
}
console.log(getData())

您可以使用arrayfill方法填充map

//arr.fill(value, start, end)
getData = () =>{
    let data = new Array(5).fill(0).map((a,i)=>"test data " + i);
    return {
        data
    };
}
console.log(getData())

答案 1 :(得分:1)

在ES6中它应该是这样的:

const data = Array.from(new Array(5), (x, i) => "test data " + i);
// if you want to return an object with the field data mapped to your array
const getData2 = () => ({ data });
console.log(getData2());

相关问题