javascript - 添加两个不同数组的对象
问题描述
我有两个数组,每个数组都有对象。如何最好地简化将两个对象添加到一个但在一个新列表中。例如
a = [{a:1, b:2, c:3}, {d:1, e:4, f:2}]
b = [{m:1, n:2, o:4}, {r:1,s:3,u:5}, {k:1,j:4,f:8}]
z = [{a:1, b:2, c:3, m:1, n:2, o:4}, {d:1, e:4, f:2, r:1,s:3,u:5}, {k:1,j:4,f:8}]
假设您有 list a
,b
我想将每个位置的对象添加到 list 中z
。
解决方案
您可以先检查两个数组的长度,然后合并它们。
const a = [{ a: 1, b: 2, c: 3 }, { d: 1, e: 4, f: 2 }]
const b = [{ m: 1, n: 2, o: 4 }, { r: 1, s: 3, u: 5 }, { k: 1, j: 4, f: 8 }]
const mergeArrays = (arr1, arr2) => arr1.map((x, i) => ({ ...x, ...arr2[i] }))
const z = a.length > b.length ? mergeArrays(a, b) : mergeArrays(b, a);
console.log(z);
推荐阅读
- selenium-chromedriver - 如何在 RobotFramework 中为 Create Webdriver 添加代理功能
- asp.net-core - 如何使用 Microsoft.VisualStudio.Web.CodeGeneration?
- r - 如何将因子转换为日期格式
- sql - Stored procedure that takes in a dynamic number of joins
- excel - 在每一行之后插入多行数据
- vb.net - Word Cannot Start the converter WPFT632
- javascript - 如何使用帧让 p5js 视频在 HTML 中播放。它显示了我在 p5 中制作的图形,但不会显示视频捕获元素
- javascript - AngularJS 重新绑定指令'='
- python - 将图像转换为黑底白字并预测
- google-app-maker - 在列表中显示相关数据