Maison > interface Web > js tutoriel > le corps du texte

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
251 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!

source:php.cn
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