0
votes

Fusionner deux gamme d'objets avec JavaScript

J'ai ce groupe d'objets comme celui-ci:

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


0 commentaires

3 Réponses :


2
votes

Peut-être quelque chose comme ceci:

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


1 commentaires

Assurez-vous simplement que vous modifiez la modification de la cible objet . Sinon, vous auriez besoin de objet.Assign ({}, objet, listeplayliste [index]) afin de ne pas modifier l'objet d'origine



1
votes

Utiliser mappe code>. Itérate sur l'un des matrices et renvoyer l'objet, qui contient l'obj et l'objet actuel d'un autre tableau à l'aide de l'index.

p>

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


0 commentaires

0
votes

Semblable aux objets.Map (), A pour la boucle fonctionnera également, mais s'il vous plaît être noté que, objet.Assign () modifiera le tableau d'origine. PFB Code Snippet:

p>

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


0 commentaires