Maison > interface Web > js tutoriel > Comment supprimer un objet d'un tableau JavaScript en fonction d'un critère spécifique ?

Comment supprimer un objet d'un tableau JavaScript en fonction d'un critère spécifique ?

Mary-Kate Olsen
Libérer: 2024-11-23 00:36:20
original
381 Les gens l'ont consulté

How to Remove an Object from a JavaScript Array Based on a Specific Criterion?

Supprimer un objet du tableau à l'aide de JavaScript

Problème :

Comment supprimer un objet à partir d'un tableau basé sur un critère spécifique ? Par exemple, je souhaite supprimer l'objet portant le nom "Kristian" de someArray :

someArray = [{name:"Kristian", lines:"2,5,10"},
             {name:"John", lines:"1,19,26,96"}];
Copier après la connexion

Sortie souhaitée :

someArray = [{name:"John", lines:"1,19,26,96"}];
Copier après la connexion

Solution :

Il existe plusieurs méthodes pour supprimer des éléments d'un tableau dans JavaScript :

  1. Array.shift() : Supprime le premier élément.
  2. Array.slice : Renvoie un nouveau tableau avec un sous-ensemble d'éléments.
  3. Array.splice : modifie le tableau d'origine en supprimant des éléments à partir d'un index spécifié.
  4. Array.pop() : Supprime le dernier élément.
  5. Array.slice(0, array.length -1) : Renvoie un nouveau tableau avec tous les éléments sauf le dernier.
  6. Array.length = array.length - 1 : Modifie la longueur du tableau en supprimant le dernier élément.

Dans votre cas, vous pouvez utiliser Array.splice pour supprimer l'objet portant le nom "Kristian":

someArray.splice(someArray.findIndex(obj => obj.name === "Kristian"), 1);
Copier après la connexion

Une autre option consiste à utiliser Array.filter pour créer un nouveau tableau sans l'objet que vous souhaitez supprimer :

const result = someArray.filter(obj => obj.name !== "Kristian");
Copier après la connexion

Si vous souhaitez supprimer un objet avec un index spécifique, utilisez Array.splice :

someArray.splice(x, 1);
Copier après la connexion

Vous pouvez également utiliser Array.slice pour obtenir l'objectif même résultat :

someArray = someArray.slice(0, x).concat(someArray.slice(x + 1));
Copier après la connexion

N'oubliez pas que certaines méthodes modifient le tableau d'origine, tandis que d'autres en renvoient un nouveau. Choisissez l'approche qui correspond le mieux à vos besoins spécifiques.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal