Suppression d'objets des tableaux JavaScript
La suppression d'objets des tableaux est une opération courante en JavaScript. Il existe plusieurs méthodes pour y parvenir, chacune avec ses propres avantages et inconvénients.
Méthodes sans mutation
-
Array.filter() : Crée un nouveau tableau contenant uniquement les éléments qui réussissent un test spécifié. Par exemple :
let someArray = [{name: "Kristian", lines: "2,5,10"},
{name: "John", lines: "1,19,26,96"}];
let noJohn = someArray.filter(el => el.name !== "John");
Copier après la connexion
-
Array.find(): Renvoie le premier élément correspondant ou non défini si aucune correspondance n'est trouvée. Utilisez-le pour récupérer l'objet spécifique que vous souhaitez supprimer. Par exemple :
const kristian = someArray.find(el => el.name === "Kristian");
Copier après la connexion
Méthodes de mutation
-
Array.splice() : Supprime une plage d'éléments de le tableau, en commençant à un index spécifié. Par exemple :
someArray.splice(someArray.findIndex(el => el.name === "John"), 1);
Copier après la connexion
-
Array.pop() : Supprime le dernier élément du tableau.
-
Array.shift (): Supprime le premier élément du tableau.
-
Array.length = newLength : Réaffecte la longueur du tableau, en tronquant tous les éléments en excès.
Sélection de la meilleure méthode
La meilleure méthode pour supprimer des objets d'un le tableau dépend de vos besoins spécifiques :
-
Méthodes non mutantes créer nouveaux tableaux et n’affectent pas le tableau d’origine. C'est idéal si vous souhaitez conserver le tableau d'origine intact.
-
Les méthodes de mutation modifient directement le tableau d'origine. Ceci est plus efficace mais peut entraîner des modifications indésirables.
Notes supplémentaires
-
Array.findIndex() :Utiliser ceci pour trouver l'index de l'objet que vous souhaitez supprimer, car splice() et pop() nécessitent un index paramètre.
-
Array.filter(): Peut être utilisé pour supprimer plusieurs éléments à la fois en spécifiant plusieurs critères dans la fonction de filtre.
Exemple
Le code suivant utilise la méthode filter() pour créer un nouveau tableau sans l'objet contenant le nom "Kristian":
const someArray = [{name: "Kristian", lines: "2,5,10"},
{name: "John", lines: "1,19,26,96"}];
const noKristian = someArray.filter(el => el.name !== "Kristian");
console.log(noKristian);
// Output: [{name: "John", lines: "1,19,26,96"}]
Copier après la connexion
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!