这就是我要做的事情。
假设我有一组像这样的对象:
const arr = [ {a:1, b:2}, {c:3, d:4}, {e:5, f:6} ];
我试图将其转换为一个对象,如下所示:
const obj = {a:1, b:2, c:3, d:4, e:5, f:6};
我知道我可以通过这样的传播操作符完成此操作:
const obj = {...arr[0], ...arr[1], ...arr[2]};
但如果我不知道arr
中有多少个物体怎么办?似乎必须有一种方法来遍历数组中的每个对象并且#34;传播"他们成为一个对象,但我似乎无法弄明白。
答案 0 :(得分:2)
reduce
在这里可以很好地运作:
const arr = [ {a:1, b:2}, {c:3, d:4}, {e:5, f:6} ];
const obj = arr.reduce((combo, item) => {
return {...combo, ...item};
}, {});
console.log(obj)
答案 1 :(得分:2)
将它传播到这样的分配中:
const arr = [ {a:1, b:2}, {c:3, d:4}, {e:5, f:6} ];
const obj = Object.assign({}, ...arr);
console.log(obj); // {a:1, b:2, c:3, d:4, e:5, f:6}