Javascript 将对象数组从数组转换为对象的对象属性

Javascript 将对象数组从数组转换为对象的对象属性,javascript,arrays,algorithm,object,Javascript,Arrays,Algorithm,Object,我需要将数组中的对象转换为数组中的对象属性 下面是对象的数组的示例 const array = [ { book:5, car: 6, pc: 7 }, { headphone: 9, keyboard: 10 }, ]; 我需要把它转换成 const obj = { book:5, car: 6, pc: 7, headphone: 9, keyboard: 10 }; 我尝试了很多方法,但都没有达到最终的结果。提前感谢您可以使用.reduce()和O

我需要将数组中的对象转换为数组中的对象属性

下面是对象的
数组的示例

const array = [
 {
  book:5,
  car: 6,
  pc: 7
 },
 {
  headphone: 9,
  keyboard: 10
 },
];
我需要把它转换成

const obj = {
 book:5,
 car: 6,
 pc: 7,
 headphone: 9,
 keyboard: 10
};
我尝试了很多方法,但都没有达到最终的结果。提前感谢

您可以使用
.reduce()
Object.assign()
方法:

const数组=[
{书籍5部,汽车6部,个人电脑7部},
{耳机:9,键盘:10},
];
const result=array.reduce((r,c)=>Object.assign(r,c),{});

控制台日志(结果)可以将数组作为的参数()展开,该参数返回单个对象

const
数组=[{book:5,car:6,pc:7},{耳机:9,键盘:10}],
object=object.assign({},…数组);
console.log(对象)怎么样

let obj = {}

for(let object of array) {
  Object.assign(obj, object)
}

console.log(obj)

还可以使用for循环遍历数组。使用.reduce()和Object.assign()对于那些不太了解js中对象的人来说,可能没有那么清楚地理解正在发生的事情,但是代码肯定更少

for(let i = 0; i < array.length; i++){
    for (let key in array[i]) {
        if (array[i].hasOwnProperty(key)) {
            obj[key] = array[i][key];
        }
    }
}
for(设i=0;i
这些类型的问题吸引的人几乎都是对答案进行编码而不给你任何解释。当然,您将在2天后返回一个新请求。
const obj=Object.assign({},…array)
可能是最干净的。spread运算符将在此处执行此操作,Object.assign将执行您所需的操作。@nicholaswmin,您可以看到,2年过去了,您可以看到我没有返回与此相关的另一个请求,因此请停止错误假设感谢此操作有效,但我将接受@Nina Scholz answer,因为它的代码较少