javascript - 基于其索引(无键)Javascript合并两个对象数组
问题描述
我有一个问题让我卡了一段时间。我正在使用Javascript。我有两个对象数组,如下所示:
第一个数组:
[ {颜色:“红色”,材质:“碳”},{颜色:“黑色”,材质:“铁”}]
第二阵列
[ [ { year_released: 2000 }, { price: 3000 }, { year_built: 1998 } ], [ { year_released: 1996 }, { price: 5000 }, { year_built: 1990 } ] ]
我需要将这些对象数组合并成这样:
[ {颜色:“红色”,材质:“碳”,年份:2000,价格:3000,年份:1998 },{颜色:“黑色”,材质:“铁”,年份:发布:1996,价格:5000,年份: 1990 } ]
请帮我解决这个问题。非常感谢。
解决方案
您需要使用来合并对象并根据您的要求Object.assign()
遍历目标和源对象数组。
const targets = [ { color: "Red", spoiler: "carbon" }, { color: "Blue", spoiler: "oxygen" } ];
const sources = [ [ { year_released: 2000 }, { price: 3000 }, { year_built: 1998 } ], [ { year_released: 1996 }, { price: 5000 }, { year_built: 1990 } ] ];
const returnedTargets = targets.map((target, i) =>
Object.assign({}, target, ...sources[i])
);
console.log(returnedTargets);
// console.log(target, sources, returnedTargets);
// [{"color":"Red","spoiler":"carbon"},{"color":"Blue","spoiler":"oxygen"}]
// [[{"year_released":2000},{"price":3000},{"year_built":1998}],[{"year_released":1996},{"price":5000},{"year_built":1990}]]
// [{"color":"Red","spoiler":"carbon","year_released":2000,"price":3000,"year_built":1998},{"color":"Blue","spoiler":"oxygen","year_released":1996,"price":5000,"year_built":1990}]
推荐阅读
- c++ - Ctest 没有找到带有子目录的 catch2 测试
- python - 安装 keras 后没有名为 keras 的模块
- javascript - 使用 if else jquery 和 attr()
- javascript - 图像映射未调整大小
- kubernetes-helm - helm template --debug 或 helm install --dry-run --debug ,哪个最好?
- html - Flexbox 子节点的大小不一样
- r - 来自 xts 对象列表的 rbind.xts
- python - 如何绘制kmeans?
- java - 我不明白如何移动树的一部分
- node.js - Objection.js/Knex.js 查询错误(错误:带有时区的时间戳类型的输入语法无效:“null”)