javascript - 如何合并2个对象数组?
问题描述
我有2个对象数组的以下代码,我喜欢它应该合并的方式是:
let arrofObj1 = [
{
apple: 17,
mango: 15,
},
{
apple: 20,
mango: 29,
},
];
let arrofObj2 = [
{
banana: 60,
pear: 19,
},
{
banana: 50,
pear: 39,
},
];
let outPutIwant = [
{
apple: 17,
mango: 15,
banana: 60,
pear: 19,
},
{
apple: 20,
mango: 29,
banana: 50,
pear: 39,
},
];
注意:在添加之前,每个数组中可能有超过 2 个对象,但这是我希望它们添加的方式。谁能告诉我我该怎么做?提前致谢
解决方案
你可以像这样创建一个函数。请注意,此函数假定您的两个数组各自包含相同数量的对象。
var arrofObj1 = [
{
apple: 17,
mango: 15,
},
{
apple: 20,
mango: 29,
},
];
var arrofObj2 = [
{
banana: 60,
pear: 19,
},
{
banana: 50,
pear: 39,
},
];
function mergeByPosition(arr1, arr2) {
let arrResult = [];
for(let i = 0; i < arr1.length; i++) {
const objResult = { ...arr1[i], ...arr2[i] };
arrResult.push(objResult);
}
return arrResult;
}
console.log(mergeByPosition(arrofObj1, arrofObj2));
推荐阅读
- python - itertools Permutation:仅返回特定组合
- javascript - 在javascript中为每3个键分块一个对象
- javascript - 如何使用谷歌脚本遍历所有工作表?
- ubuntu - 重新上传目标文件后不执行 CRON TAB
- service-layer - SAP B1 服务层登录 POST 请求提供错误代码 -304 和空消息
- python - 在 Windows 上安装 apache-airflow 时出错
- javascript - 原型链中“new person()”和“prototype.person”之间的区别?
- c++ - 如果从环境变量运行,如何将文件路径作为参数传递给程序?C++
- reactjs - 测试结果 - 类名未更新
- python - 训练 Fasttext 模型