【发布时间】:2020-09-23 10:07:17
【问题描述】:
我有一个带有键值对的对象数组,如何通过删除键将其减少为单个对象来将其转换为对象。我尝试使用 map filter reduce 但无法获得所需的结果。请帮忙
const object = Object.assign({}, ...obj); // not working
const result = {};
Object.keys(object).forEach((key, index) => {
result[`newObj${index + 1}`] = obj[key].map(item => ({[key]: item}));
}); // not working
输入
obj = [{key: name, value: jack},{key: age, value: 10},{key: country, value: india},{key: state, value: Delhi}];
输出
{name:jack, age:10, country:india, state: Delhi}
【问题讨论】:
-
obj不是一个对象,它是一个 array 对象。如果您遍历该数组,它的每个项目都将是一个具有.key和.value属性的对象,您需要以某种方式使用它们。obj.forEach(i => result[i.key] = i.value)… -
请让您的输入有效,您的意思是
{key:"name", ...}而不是{key:name,...}? -
@JanStránský 是的
-
很好,答案中有多少种不同的解决方案
标签: javascript