0

Here I have data.payload and folderObjs I want to merge data.payload in folderObjs inside which folderObjs's folderid == data.payload[i].upperfolderid see patternObj console that type result I want

I tried using concat but it merge in folderObjs array not merge inside specific folderObjs folderid

data.payload
(2) [{…}, {…}]
 0: { folderid: 903, folderName: "f11", upperfolderid: 899} 
 1: { folderid: 904, folderName: "f22", upperfolderid: 899}

folderObjs
(4) [{…}, {…}, {…}, {…}]
 0: { folderid: 899, folderName: "f1", upperfolderid: 122}
 1: { folderid: 900, folderName: "f2", upperfolderid: 122}
 2: { folderid: 901, folderName: "f3", upperfolderid: 122}
 3: { folderid: 902, folderName: "f4", upperfolderid: 122}

 // TS

 folderObjs : Folder[] = [];
 patternObj : Pattern[] = [];

 this.patterObj = this.folderObjs.concat(data.payload);
 console.log(this.patternObj);

 // This type result I want
 0: {folderid: 899, folderName: "f1,upperfolderid: 122,
  {0: {folderid: 903, folderName: "f11", upperfolderid: 899} 
   1: {folderid: 904, folderName: "f22", upperfolderid: 899}
  }
 }
 1: {folderid: 900, folderName: "f2",upperfolderid: 122}
 2: {folderid: 901, folderName: "f3",upperfolderid: 122}
 3: {folderid: 902, folderName: "f4",upperfolderid: 122}
Matthew Herbst
  • 29,477
  • 23
  • 85
  • 128
Dharmesh
  • 5,383
  • 17
  • 46
  • 62
  • Hope this will help https://stackoverflow.com/questions/10865025/merge-flatten-an-array-of-arrays-in-javascript – R. Viral Dec 18 '18 at 06:15

1 Answers1

1

I hope below example will help.

const result = this.folderObjs.map(val => {
  return Object.assign({}, val, this.payload.filter(v => v.upperfolderid === val.folderid));
});
console.log(result);
Jitendra G2
  • 1,196
  • 7
  • 14