用javascript合并两个对象数组

我有这样的 2 个对象数组:


objects [ { countMedias: 2 },

  { countMedias: 1 },

  { countMedias: 3 },

  { countMedias: 1 },

  { countMedias: 2 } ]

listePlayliste [ { nom_playlist: 'bbbb' },

  { nom_playlist: 'ccc' },

  { nom_playlist: 'aaaa' },

  { nom_playlist: 'xxxx' },

  { nom_playlist: 'resttttttttt' } ]

我想融合他们两个得到这样的东西:


Result [ { nom_playlist: 'bbbb', countMedias: 2 },

  { nom_playlist: 'ccc', countMedias: 1  },

  { nom_playlist: 'aaaa', countMedias: 3 },

  { nom_playlist: 'xxxx', countMedias: 1 },

  { nom_playlist: 'resttttttttt', countMedias: 2 } ]

我试过了,但这不是我真正想要的:


    Array.prototype.push.apply(json,objects); 


摇曳的蔷薇
浏览 437回答 3
3回答

慕村9548890

也许是这样的:objects.map((object, index) => Object.assign(object, listePlayliste[index]))但是不要尝试在大数组大小上使用它。没那么快。

临摹微笑

使用map. 迭代数组之一并返回对象,该对象使用索引保存当前 obj 和来自其他数组的对象。const objects = [{    countMedias: 2  },  {    countMedias: 1  },  {    countMedias: 3  },  {    countMedias: 1  },  {    countMedias: 2  }];const listePlayliste = [{    nom_playlist: 'bbbb'  },  {    nom_playlist: 'ccc'  },  {    nom_playlist: 'aaaa'  },  {    nom_playlist: 'xxxx'  },  {    nom_playlist: 'resttttttttt'  }];const output = objects.map((obj, i) => ({  ...obj,  ...listePlayliste[i]}));console.log(output);

至尊宝的传说

与objects.map() 类似,for 循环也可以工作,但请注意,Object.assign()将修改原始数组。PFB 代码片段:objects = [ { countMedias: 2 },&nbsp; { countMedias: 1 },&nbsp; { countMedias: 3 },&nbsp; { countMedias: 1 },&nbsp; { countMedias: 2 } ];listePlayliste = [ { nom_playlist: 'bbbb' },&nbsp; { nom_playlist: 'ccc' },&nbsp; { nom_playlist: 'aaaa' },&nbsp; { nom_playlist: 'xxxx' },&nbsp; { nom_playlist: 'resttttttttt' } ];for (let i=0; i<objects.length; i++) {&nbsp; Object.assign(objects[i], listePlayliste[i]);}console.log(objects);为了避免修改原始数组,我们可以使用Spread 语法。PFB 代码片段:objects = [ { countMedias: 2 },&nbsp; { countMedias: 1 },&nbsp; { countMedias: 3 },&nbsp; { countMedias: 1 },&nbsp; { countMedias: 2 } ];listePlayliste = [ { nom_playlist: 'bbbb' },&nbsp; { nom_playlist: 'ccc' },&nbsp; { nom_playlist: 'aaaa' },&nbsp; { nom_playlist: 'xxxx' },&nbsp; { nom_playlist: 'resttttttttt' } ];var result = [];for (let i=0; i<objects.length; i++) {&nbsp; result.push({ ...objects[i], ...listePlayliste[i] })}console.log(result);console.log(objects);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript