En JS, pour un tableau composé d'objets JSON, par exemple :

var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];

Si nous voulons supprimer le deuxième objet JSON, que devons-nous faire ? En fait, la méthode est exactement la même que pour opérer sur un tableau.

 

Au début, j'ai essayé d'utiliserdeleteopérateur, mais en vérifiant la longueur du tableau, j'ai constaté que cette méthode ne supprime pas complètement l'élément ; au lieu de cela, elle supprime sa valeur tout en conservant l'espace.

var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];
test.length   //输出为 3
delete test[1];
test.length   //输出仍为 3

En consultant la documentation de l'opérateur delete, nous savons qu'il ne fait que définir cette valeur sur undefined et n'affecte pas la longueur du tableau, c'est-à-dire qu'il le transforme en tableau creux (section 7.5 de « JavaScript: The Definitive Guide »).

 

Sachant cela, vous pensez peut-être à décaler chaque élément après le point de suppression d'une unité vers l'avant pour supprimer complètement cet élément, mais dans les méthodes JS nous pouvons trouver une approche plus simple : la méthodesplice()

var test = [{ "a": "1", "b": "2" }, { "a": "3", "b": "4" }, { "a": "5", "b": "6" }];
test.length   //输出为 3
test.splice(1, 1);
test.length   //输出为 2

Après la suppression, test.length devient 2, ce qui est exactement le résultat que nous voulons.

URL d'origine : https://blog.csdn.net/WI_232995/article/details/77776433