我需要将对象数组从该数组转换为对象属性的对象。
以下是array of objects
const array = [
{
book:5,
car: 6,
pc: 7
},
{
headphone: 9,
keyboard: 10
},
];
我需要将其转换为
const obj = {
book:5,
car: 6,
pc: 7,
headphone: 9,
keyboard: 10
};
我尝试了许多方法,但无法达到最终结果。预先感谢
答案 0 :(得分:5)
您可以将数组作为spread syntax ...
的参数(Object.assign
)散布,这将返回一个对象。
const
array = [{ book: 5, car: 6, pc: 7 }, { headphone: 9, keyboard: 10 }],
object = Object.assign({}, ...array);
console.log(object);
答案 1 :(得分:2)
您可以使用.reduce()
和Object.assign()
方法:
const array = [
{book:5, car: 6, pc: 7},
{headphone: 9, keyboard: 10},
];
const result = array.reduce((r, c) => Object.assign(r, c), {});
console.log(result);
答案 2 :(得分:0)
您也可以使用for循环遍历数组。我不太清楚使用.reduce()和Object.assign()来了解那些对js中的Objects不太了解,但代码肯定更少的人正在发生的事情。
for(let i = 0; i < array.length; i++){
for (let key in array[i]) {
if (array[i].hasOwnProperty(key)) {
obj[key] = array[i][key];
}
}
}
答案 3 :(得分:-1)
怎么样
let obj = {}
for(let object of array) {
Object.assign(obj, object)
}
console.log(obj)