问题描述
我有[{key1:value1,key2:value2},{key3:value3,key4:value4},....]。我想将其转换为 {value1:value2,value3:value4}
解决方法
使用Array#reduce累积对象数据。 Foreach对象从第一个对象值中获取值,并使用第二个对象值中的值将具有该名称的新属性添加到累积的对象中。
let array = [ { key1:'value1',key2:'value2' },{ key3:'value3',key4:'value4' }];
let res = array.reduce((acc,cur) => {
values = Object.values(cur);
acc[values[0]] = values[1];
return acc;
},{});
console.log(res);
,
假定内部对象始终具有2个键:
const arr = [ { key1:'value1',key4:'value4' }]
const obj = {};
for (const innerObj of arr) {
const values = Object.values(innerObj);
obj[values[0]] = values[1];
}
console.log(obj) // { value1: 'value2',value3: 'value4' }
注意:您要问的是假设内部对象中的键有顺序,但这可能无法保证