javascript - 在具有数组的javascript中合并两个对象
问题描述
我有两个对象a和b。每个都有一个数组 results [] ,其中还包含多个对象。
我想将两个对象的结果 [] 数组合并到第三个对象 c 中。
我已经尝试过var c = Object.assign(a,b)
,但我没有得到结果。
考虑以下示例以供参考。
a = {results[{"boys": 50, "girls": 20, "red":10},{boys": 40, "girls": 10, "red":50},{boys": 30, "girls": 10, "red":50}]}
b = {results[{boys": 20, "girls": 30},{boys": 50, "girls": 20},{boys": 70, "girls": 30}]}
我正在寻找如下结果
c = {results[{"boys": 50, "girls": 20, "red":10},{boys": 40, "girls": 10, "red":50},{boys": 30, "girls": 10, "red":50},{boys": 20, "girls": 30},{boys": 50, "girls": 20},{boys": 70, "girls": 30}]}
请帮忙。提前致谢
解决方案
在合并两个数组之前,您需要担心的第一件事是确保您的语法正确。
- 您的 JavaScript 对象不正确。您的密钥后面需要一个冒号 (
:
) 。"results"
- 您缺少
"boys"
钥匙的开场白。
一旦你解决了这些问题,合并就像使用扩展语法在你的对象中创建一个新"results"
数组一样简单。c
不幸的是,ES6 中不存在深度合并,因此以下内容不起作用:
const c = { ...a, ...b }
相反,您将需要合并您的对象的"results"
.
const a = {
"results": [
{ "boys": 50, "girls": 20, "red": 10 },
{ "boys": 40, "girls": 10, "red": 50 },
{ "boys": 30, "girls": 10, "red": 50 }
]
}
const b = {
"results": [
{ "boys": 20, "girls": 30 },
{ "boys": 50, "girls": 20 },
{ "boys": 70, "girls": 30 }
]
}
const c = { "results": [ ...a.results, ...b.results ] }
console.log(c);
.as-console-wrapper { top: 0; max-height: 100% !important; }
推荐阅读
- r - 如何解释线性模型中的分类协变量
- angular - 导航到通过 NGINX 提供的 Angular 应用程序中的相对路径
- java - 如何对数组元素进行分组并获得许多出现的元素?
- google-app-engine - App Engine 中的 Google Cloud Memorystore (Redis) ETIMEDOUT
- powershell - Powershell - 网络使用凭据不起作用
- python - 尝试调整图像大小时出现 DjangoUnicodeDecodeError
- reactjs - 如何在反应中的代码中分配动态值
- wordpress - 确定在 Wordpress 网站上使用了哪些 Avada Fusion Builder Elements
- javascript - 为什么 dns.lookup 对这些不正确的 URL 起作用?
- reactjs - 使用 react-admin 从 API 响应的数据中下载文件