javascript - 如何将对象数组转换为对象
问题描述
我有一个看起来像这样的数组:
[
{
value1: {
something: "something"
}
},
{
value2: {
something: "something"
}
}
]
我需要收到这样的东西:
{
value1: {
something: "something"
},
value2: {
something: "something"
}
}
提前致谢!
解决方案
只需对原始数组进行缩减
const data = [
{
value1: {
something: "something"
}
},
{
value2: {
something: "something"
}
}
]
const result = data.reduce((acc, cur) => {
const keys = Object.keys(cur);
keys.forEach(key => {
if(!acc[key]) {
acc[key] = {...cur[key]}
}
});
return acc;
}, {});
console.log(result);
/*
{
value1: { something: 'something' },
value2: { something: 'something' }
}
*/
推荐阅读
- tomcat - Tomcat 在调用应用程序到应用程序时发送错误请求(状态代码 400)
- javascript - 如何根据对象数组中字段的最大值限制 HTML 列元素
- c# - 将 varchar 转换为 int mvc C# 时转换失败
- php - 从 MySQL、PHP 获取随机结果
- ios - Xcode - 工具栏或视图未显示在顶部附近
- r - 无法安装软件包,因为“无法构建 stringi。检查您的编译器标志”
- javascript - 确定字符串中的最外层范围是否是 JavaScript 语言中的函数
- ngrok - 隧道 ---------ngrok.io 未找到
- json - JSONObject 和 Streams/Lambda
- pdfbox - Apache PDFBOX renderImageWithDPI UTF-8 问题