Comparer deux tableaux d'objets et exclure les éléments qui correspondent aux valeurs dans un nouveau tableau dans JS
ici est mon cas d'utilisation en JavaScript:
J'ai deux tableaux d'objets qui ont des propriétés qui correspondent (id & nom).
var result1 = [
{id:1, name:'Sandra', type:'user', username:'sandra'},
{id:2, name:'John', type:'admin', username:'johnny2'},
{id:3, name:'Peter', type:'user', username:'pete'},
{id:4, name:'Bobby', type:'user', username:'be_bob'}
];
var result2 = [
{id:2, name:'John', email:'[email protected]'},
{id:4, name:'Bobby', email:'[email protected]'}
];
var props = ['id', 'name'];
Mon but est d'avoir un autre tableau d'objets contenant seulement les éléments qui ne correspondent pas. Comme ceci:
var result = [
{id:1, name:'Sandra'},
{id:3, name:'Peter'}
];
Je sais qu'il y a un moyen de le faire en allant result1 comparer chaque objet avec les objets de result2, puis de comparer leurs clés, et si ne n match, mettre les valeurs dans un autre objet, puis la pousser dans le nouveau tableau, mais je me demande est-il de toute façon plus élégante, comme l'utilisation de lo-tiret ou trait de soulignement ou quelque chose de similaire.
Merci!
source d'informationauteur Leo
Vous devez vous connecter pour publier un commentaire.
eh bien, ce à l'aide de lodash ou à la vanille, javascript, il dépend de la situation.
mais pour simplement retourner le tableau qui contient les doublons, il peut être obtenu par la suite, offcourse elle a été prise à partir de @1983
J'ai beaucoup cherché pour une solution à laquelle je puisse comparer les deux tableau d'objets avec différents noms d'attribut (quelque chose comme une jointure externe gauche). Je suis venu avec cette solution. Ici, j'ai utilisé Lodash. J'espère que cela va vous aider.
Découvrez la différence et de la xor dans lodash.
Voici une autre solution à l'aide de Lodash: