Maison >interface Web >js tutoriel >Comment puis-je supprimer efficacement des éléments d'un tableau qui existent dans un autre tableau en JavaScript ?

Comment puis-je supprimer efficacement des éléments d'un tableau qui existent dans un autre tableau en JavaScript ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-26 03:38:02914parcourir

How can I efficiently remove elements from an array that exist in another array in JavaScript?

Supprimer efficacement les éléments d'un tableau correspondant à un autre tableau

En JavaScript, il peut être nécessaire d'éliminer des éléments d'un tableau qui existent dans un autre tableau. Ceci peut être réalisé efficacement sans recourir à des boucles et à des épissages.

Approche jQuery

En utilisant jQuery, on peut utiliser les fonctions grep() et inArray() :

myArray = $.grep(myArray, function(value) {
    return $.inArray(value, toRemove) < 0;
});

Solution JavaScript pure

Pour une implémentation JavaScript pure, Array.filter() constitue une méthode efficace :

myArray = myArray.filter( function(el) {
    return toRemove.indexOf(el) < 0;
});

Alternative utilisant Array.includes()

À mesure que la prise en charge du navigateur pour Array.includes() s'est développée, elle offre une alternative concise :

myArray = myArray.filter( function(el) {
    return !toRemove.includes(el);
});

Approche moderne avec Fonctions fléchées

L'utilisation de fonctions fléchées rationalise davantage le code :

myArray = myArray.filter((el) => !toRemove.includes(el));

Ces approches JavaScript pures fournissent des moyens efficaces pour supprimer des éléments correspondant à un autre tableau sans la surcharge de boucles et d'épissage.

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!

Déclaration:
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