如何解决如何将对象数组转换为仅由值组成的对象
我有[{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' }
注意:您要问的是假设内部对象中的键有顺序,但这可能无法保证
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。