Maison > interface Web > js tutoriel > Comment supprimer efficacement les objets en double d'un tableau en JavaScript ?

Comment supprimer efficacement les objets en double d'un tableau en JavaScript ?

Patricia Arquette
Libérer: 2024-12-19 06:10:54
original
671 Les gens l'ont consulté

How to Efficiently Remove Duplicate Objects from an Array in JavaScript?

Comment supprimer des objets en double d'un tableau

Lorsque vous travaillez avec un tableau d'objets, il est souvent nécessaire de supprimer les doublons. La méthode de filtrage ES6 fournit une solution élégante pour cette tâche.

ES6 Magic

obj.arr = obj.arr.filter((value, index, self ) =>
index === self.findIndex((t) => (

t.place === value.place && t.name === value.name
Copier après la connexion

))
)

Ce code compare chaque élément du tableau avec tous les éléments suivants. Si un doublon est trouvé, il est filtré.

Solution générique

Pour une approche plus générique :

const uniqueArray = obj. arr.filter((valeur, index) => {
const _value = JSON.stringify(value);
return index === obj.arr.findIndex(obj => {

return JSON.stringify(obj) === _value;
Copier après la connexion

});
});

Cette stratégie sérialise chaque objet en une chaîne et compare les chaînes pour identifier doublons.

Comparaison basée sur les propriétés

Utilisation de la stratégie de propriété :

const getUniqueItemsByProperties = (items, propNames) =>
items.filter((item, index, array) =>

index === array.findIndex(foundItem => isPropValuesEqual(foundItem, item, propNames))
Copier après la connexion

);

Cette approche offre une flexibilité dans la spécification des propriétés sur lesquelles l'unicité est déterminée .

Propriété enveloppée Strategy

Pour autoriser à la fois les noms de tableaux et de propriétés uniques :

const getUniqueItemsByProperties = (items, propNames) => {
const propNamesArray = Array.from(propNames);

return items.filter((item, index, array) =>

index === array.findIndex(foundItem => isPropValuesEqual(foundItem, item, propNamesArray))
Copier après la connexion

);
};

Explication

L'idée clé ici est d'utiliser la méthode de filtrage pour identifier les doublons. Les critères d'unicité sont déterminés par la logique de comparaison, qui peut être personnalisée en fonction des propriétés de l'objet ou d'une stratégie de sérialisation.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal