javascript - 在javascript中将另一个数组中的数组对象打印为特定格式

标签 javascript arrays object javascript-objects

从另一个数组内的对象数组生成某种格式的对象数组。

给定的数组是:

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.fromEntriesObject.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/

相关文章:

javascript - 如何使用 Angular js 执行日常 Javascript 操作?

javascript - 将滚动位置调整到最近的容器

python - python中后缀数组的变化

Java 循环遍历 2D 数组 - 作业

java - 转换二维数组内的相邻值

javascript - Discord.js 检查 guild 是否有具有特定名称的 channel ,如果有,则将该 channel id 存储到变量中

javascript - 如何使用 jQuery 制作一个简单的切换按钮

JavaScript 对象,两个问题

arrays - 将项目添加到对象中

java | Json 字符串到对象(无需库)