Maison >interface Web >js tutoriel >Comment supprimer efficacement des éléments d'un tableau basé sur un autre tableau en JavaScript ?

Comment supprimer efficacement des éléments d'un tableau basé sur un autre tableau en JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-25 11:24:30749parcourir

How to Efficiently Remove Elements from an Array Based on Another Array in JavaScript?

Suppression efficace des éléments basés sur un autre tableau [Dupliquer]

En JavaScript, la suppression d'éléments d'un tableau qui sont présents dans un autre tableau peut être un défi. Une approche couramment utilisée consiste à utiliser les méthodes grep() et inArray() de jQuery. Cependant, il existe des solutions JavaScript pures qui peuvent obtenir le même résultat sans boucle ni épissage.

Une méthode consiste à utiliser la méthode Array.filter(), qui parcourt le tableau et filtre les éléments en fonction d'un paramètre spécifié. condition. Dans ce cas, la condition est de savoir si l'élément n'est pas présent dans le tableau toRemove.

<code class="javascript">myArray = myArray.filter(function(el) {
  return toRemove.indexOf(el) < 0;
});

À mesure que la prise en charge du navigateur pour Array.includes() s'est améliorée, elle peut être utilisée pour simplifier davantage le code :

<code class="javascript">myArray = myArray.filter(function(el) {
  return !toRemove.includes(el);
});

Une autre adaptation utilisant les fonctions fléchées donne un code encore plus concis :

<code class="javascript">myArray = myArray.filter((el) => !toRemove.includes(el));</code>

Ces méthodes fournissent un moyen efficace et flexible de supprimer des éléments d'un tableau en fonction de critères définis dans un autre tableau sans la nécessité de boucles ou de manipulations de tableaux.

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