如何将数组转换为对象

Ham*_*ohi 4 javascript arrays object

我想转此:

let myArray = [ {city: "NY"}, {status: 'full'} ];
Run Code Online (Sandbox Code Playgroud)

对此:

let myObj = { city: "NY", status: 'full' };
Run Code Online (Sandbox Code Playgroud)

我试过这个:

let newObj = {};
for (var i = 0; i < myArray.length; i++) {
  (function(x) {
    newObj = Object.assign(myArray[i]);
  })(i);
}
Run Code Online (Sandbox Code Playgroud)

它将最后一对分配给对象

Ori*_*ori 11

将数组传播Object#assign:

const myArray = [ {city: "NY"}, {status: 'full'} ];

const myObj = Object.assign({}, ...myArray);

console.log(myObj);
Run Code Online (Sandbox Code Playgroud)

注意:分配到空对象.如果省略空对象,原始数组的第一个元素将被突变(所有内容都将合并到其中).

  • 值得注意的是IE 11中没有扩展运算符 (2认同)