javascript - 我有 2 个数组,如何将它们合并为相同长度但不同的索引
问题描述
我在一个对象数组中有 2 个数组,它们的长度相同,如何合并它们并且值应该被替换(数组有空值)。
对象
obj=[ [
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
"YES",
null,
null,
null,
null,
null,
null,
null
],[
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
"YES",
null,
null,
null,
null,
null,
null,
null,
null
]]
在上面的代码中,array1 在第 23 个索引处具有值,array2 在第 22 个索引处具有值,并且两个数组中的其余值都为空,并且两个数组具有相同的长度。所以我需要一个长度相同的数组,在第 22 和第 23 索引中我需要各自的值,其余值应该为空。输出(结果)数组应该类似于下面的数组。
结果
result= [
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
null,
"YES",
"YES",
null,
null,
null,
null,
null,
null,
null
]
解决方案
假设您采用要合并的最后一次出现的子对象的值。
obj = [ [ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "YES", null, null, null, null, null, null, null, ], [ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "YES", null, null, null, null, null, null, null, null, ], ];
const mergeObj = obj.reduce((acc, cur) => {
return acc.map((el, i) => cur[i] ?? el);
});
console.log(mergeObj);
推荐阅读
- c - C: 试图在一个带有结构的函数中创建一个点
- sql - 在保持行号顺序的同时删除分区中的重复项
- javascript - AWS Dynamodb 配置中缺少凭证,如果使用 AWS_CONFIG_FILE,则设置 AWS_SDK_LOAD_CONFIG=1
- jackson - 在 JAX-RS REST 端点中反序列化 Liferay ServiceBuilder 模型
- python - 将“单词/部分”组合成“整体/字符串”?
- html - 如何在我的 HTML 模板中包含自定义 Django 字段
- google-sheets - 从谷歌表格中的动态表格中获取单元格
- python - __dict__ 终极基类的属性,Python 中的对象
- java - 如何确保此正则表达式中的长度为 6?
- node.js - Google 通过 nodejs 验证用户时的可疑行为