"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > 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 ?

Publié le 2024-11-16
Parcourir:849

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 ni à des épissages.

Approche jQuery

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

myArray = $.grep(myArray, function(value) {
    return $.inArray(value, toRemove) 

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) 

Utilisation alternative d'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 les 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 des boucles et épissage.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3