为了账号安全,请及时绑定邮箱和手机立即绑定

用javascript合并两个对象数组

用javascript合并两个对象数组

摇曳的蔷薇 2021-08-20 16:30:26
我有这样的 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); 
查看完整描述

3 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

也许是这样的:

objects.map((object, index) => Object.assign(object, listePlayliste[index]))

但是不要尝试在大数组大小上使用它。没那么快。


查看完整回答
反对 回复 2021-08-20
?
临摹微笑

TA贡献1982条经验 获得超2个赞

使用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);


查看完整回答
反对 回复 2021-08-20
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

与objects.map() 类似,for 循环也可以工作,但请注意,Object.assign()将修改原始数组。PFB 代码片段:


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' } ];



for (let i=0; i<objects.length; i++) {

  Object.assign(objects[i], listePlayliste[i]);

}


console.log(objects);

为了避免修改原始数组,我们可以使用Spread 语法。PFB 代码片段:


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' } ];


var result = [];

for (let i=0; i<objects.length; i++) {

  result.push({ ...objects[i], ...listePlayliste[i] })

}


console.log(result);

console.log(objects);


查看完整回答
反对 回复 2021-08-20
  • 3 回答
  • 0 关注
  • 347 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信