从另一个数组内的对象数组生成某种格式的对象数组。
给定的数组是:
let target =
[[{key: "subscriber_id", value: "1"},
{key: "msisdn_value", value: "2"}],
[{key: "subscriber_id", value: "3"},
{key: "msisdn_value", value: "4"}
]]
预期的对象数组应该是:
result = [
{"subscriber_id":"1","msisdn_value":"2"},
{"subscriber_id":"3","msisdn_value":"4"},
]
最佳答案
使用带有 Object.fromEntries
和 Object.values
的嵌套 map
调用来获得干净简洁的解决方案,如下所示:
const result = target.map(e => Object.fromEntries(e.map(Object.values)));
或者,为了更有效的解决方案,请使用reduce
:
const result = target.map(e => e.reduce((a, { key, value }) => (a[key] = value, a), {}));
关于javascript - 在javascript中将另一个数组中的数组对象打印为特定格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57636597/