Supprimer les éléments d'un tableau en JavaScript : delete vs splice

Il existe plusieurs méthodes pour supprimer un élément d'un tableau. Le point.

Dans le langage JavaScript, il existe plusieurs méthodes pour supprimer un élément d'un tableau. La classe Array a sa propre méthode splice mais il existe également le mot-clé delete qui supprime n'importe quelle variable. Ces deux moyens de suppression n'ont cependant pas les mêmes conséquences sur un tableau.

Le mot-clé delete est utilisé pour supprimer une variable. Il peut également supprimer un élément d'un tableau, mais le tableau ne sera pas restructuré. A la place de l'élément supprimé, on trouvera le mot-clé undefined, indiquant un élément non défini.

monTableau = [Pierre, Paul, Jean];
delete monTableau[0];
console.log(monTableau);
// Affiche [undefined, Paul, Jean]

La méthode splice() supprime également un ou plusieurs éléments du tableau. Elle prend en premier argument l'index à partir duquel on commence la suppression et en deuxième argument le nombre d'éléments à supprimer. Après cette opération, elle réindexe les éléments pour qu'il n'y ait pas de case vide, puis diminue la longueur du tableau de 1. Il s'agit du comportement le plus courant pour une fonction qui supprime un élément d'un tableau, on aura donc tendance à plus l'utiliser dans ce cas que le mot-clé delete. De plus, la méthode retourne un tableau dans lequel sont rangés les éléments supprimés.

monTableau = [Pierre, Paul, Jean, Eric];
var elementsSupprimes = monTableau.splice(0, 2);
console.log(monTableau);
// Affiche [Jean, Eric]
console.log(elementsSupprimes);
// Affiche [Pierre, Paul]

JavaScript