将两个数组映射并排序为一个

问题描述

我有一个具有两个数组的对象,

let myData= {
        firstArray: [],seccondArray: []
};

firstArray 是一个数组,其中包含一些具有唯一ID的数据,例如:

firstArray = [
0: { id: 1,name: name1 },1: { id: 2,name: name2 }
...]

seccondArray 是另一个具有某些数据的Array,例如:

seccondArray = [
0: { itemId: 1,nameForItem: name1,optionalProperty: property1 },1: { itemId: 2,nameForItem: name2 },2: { itemId: 3,nameForItem: name3 },3: { itemId: 1,nameForItem: name4 }
...]

因此,我需要创建 finalArray ,其中将具有id和items数组,其中内部项目将从seccondArray中的所有项目(其中itemId = firstArray.id)推送到其中。 id是firstArray.id所采用的唯一ID。另外,该元素还应与其所有其他属性映射,例如item1具有optionalProperty:property1,因此finalArray看起来像:

finalArray = [
{ id: 1,items: [
      0: {itemId: 1,optionalProperty: property1},1: {itemId: 1,nameForItem: name4}
],},{id: 2,items: [{itemId: 2,nameForItem: name2}]},{id: 3,items: [{itemId: 3,nameForItem: name3}]},{id: 4,items: [{itemId: 4,nameForItem: name4}]}
];

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)