Il y a de fortes chances que dans le passé, vous ayez tapé la phrase ci-dessus dans le champ de recherche Google ou Stack Overflow. Ce problème est si commun que c’est la question la plus votée sous la balise javascript sur la pile. Si c’est si populaire, pourquoi ne pas regarder de plus près ce problème?
le problème de la suppression d’un élément du tableau semble omniprésent et donc important.
En JavaScript, il y a beaucoup de méthodes dans le Tableau lui-même, mais aussi dans d’autres objets standard., Parmi ces méthodes, il y en a quelques-unes qui peuvent nous aider à résoudre le problème spécifié. Cela signifie qu’il y a en fait plusieurs réponses à la question du titre. Passons en revue les plus populaires.
pour rendre les solutions plus comparables, nous caractériserons chacune d’elles en utilisant trois propriétés:
- in-place — cette méthode modifie-t-elle le tableau d’origine? Sinon, il renvoie un tableau modifié (tableau sans élément supprimé)
- supprime les doublons — cette méthode supprime-t-elle toutes les occurrences de l’élément spécifié ou seulement le premier?,
- par valeur / index – cette méthode nécessite-t-elle de fournir la valeur de l’élément ou de son index dans le tableau?
Pour simplifier les exemples que nous supposons que tous les tableaux contiennent des valeurs primitives telles que des Nombres.
Dans cette section, nous allons évaluer les approches les plus courantes à ce problème dans le cas général. Par général, j’entends supprimer un élément qui n’a pas de place particulière dans le tableau. Il n’est pas dernier, le premier ou le seul. C’est juste un Joe régulier parmi les éléments du tableau.
suppression de l’élément par valeur en utilisant .,splice()
Épissure méthode peut être utilisée pour se débarrasser d’un élément à l’indice connu. Si vous ne connaissez que la valeur, vous devez d’abord identifier l’index de l’élément. Ensuite, utilisez l’index comme élément de départ et supprimez un seul élément.
les Propriétés de la solution:
la Suppression de l’élément de Tableau à l’aide .,filter() method
Specific element can be filtered out from array, by providing filtering function. Such function is then called for every element in array.
Properties of the solution:
Removing Array element by extending Array.prototype
Prototype of Array can be extended with additional methods., Ces méthodes seront alors disponibles pour être utilisées sur les tableaux créés.
Note: étendre les prototypes d’objets de la bibliothèque standard de JS (comme Array) est considéré par certains comme antipattern.,
les Propriétés de la solution:
la Suppression de l’élément de Tableau à l’aide de l’opérateur delete
à l’Aide de l’opérateur d’effacement n’a pas d’incidence sur la durée de la propriété. Cela n’affecte pas non plus les index des éléments suivants. L’élément supprimé n’est pas supprimé mais devient indéfini., The delete operator is designed to remove properties from JavaScript objects, which arrays are objects.
Properties of the solution:
Removing Array element using Object utilities (>= ES10)
ES10 introduced Object.,fromEntries, qui peut être utilisé pour créer le tableau souhaité à partir de n’importe quel objet de type tableau et filtrer les éléments indésirables pendant le processus.
propriétés de la solution: