Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1523 connectés 

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Supprimer simplement un objet d'un array JS.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Supprimer simplement un objet d'un array JS.

n°2380284
CedricMD
Architecte / Développeur principal
Posté le 28-03-2021 à 16:19:41  profilanswer
 

Coucou, je suis dev PHP Senior, pour des besoins pro, j'essaye de me perfectionner en JS (en React/Next/Typescript plus exactement, mais c'est un détail à mon avis).
 
Ma question :
J'ai un tableau d'object simple :

Code :
  1. const superTab = [
  2. {id: 1, name: 'toto'},
  3. {id: 2, name: 'titi'},
  4. {id: 3, name: 'tutu'},
  5. ];
  6. const objToDelete = {
  7. id: 2, name: 'titi',
  8. };
  9. // Ici mon soucis
  10. console.log(superTab);


C'est de la syntaxe tapé vite fait, tapez pas si j'ai oublié une virgule quelque part.
 
Je souhaiterais donc qu'à l'étape "Ici mon soucis" virer l'objToDelete de mon tableau d'object pour que le console.log me sorte un array composé juste des object 1 et 3.
Je peux potentiellement y arriver avec un .map (encore que vu que mon tableau n'a pas de clé...).
 
Si quelqu'un a une soluce pour ça, merci d'avance.


---------------
Ceci est ma signature :)
mood
Publicité
Posté le 28-03-2021 à 16:19:41  profilanswer
 

n°2380288
CedricMD
Architecte / Développeur principal
Posté le 28-03-2021 à 16:57:33  profilanswer
 

J'ai fini par trouver une solution simple à mettre en oeuvre et qui fonctionne bien dans mon cas.

 
Code :
  1. let removeIndex = superTab.map(function(item) { return item.id; }).indexOf(2);
  2. superTab.splice(removeIndex, 1);
 

Si quelqu'un a mieux, je reste ouvert à toute solution plus propre/adaptée.


Message édité par CedricMD le 28-03-2021 à 17:09:34

---------------
Ceci est ma signature :)
n°2380373
gatsu35
Blablaté par Harko
Posté le 29-03-2021 à 12:51:54  profilanswer
 

Methode Filter cher ami :  
 

Code :
  1. let nouveauTableau = tableau.filter(function(item) { return item.id === objToDelete.id;});


 
Là c'est dans le cas où tu veux un nouveau tableau filtré.
 
Après ta méthode est une approche qui est utile dans ton cas mais tu as toujours le même tableau.
 

n°2380422
MaybeEijOr​Not
but someone at least
Posté le 29-03-2021 à 20:59:35  profilanswer
 

Le map me semble inopportun.

Code :
  1. superTab.splice(superTab.findIndex(myEl => myEl.name === objToDelete.name), 1);
 

Ou alors :

Code :
  1. superTab.splice(+objToDelete.id - 1, 1);


Message édité par MaybeEijOrNot le 29-03-2021 à 21:01:21

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Supprimer simplement un objet d'un array JS.

 

Sujets relatifs
[webservice] Envoyer string arraySupprimer des enregistrement différents
[Javascript] - Supprimer un élément ajouté dynamiquement[Résolu] [JS] Besoin d’aide sur réalisation d’un convertisseur dec/hex
VBA TCD supprimer une annéeSoucis avec un menu HTML et JS.
[RESOLU]Comment trier un array à 2 dimensions avec plusieurs critéresErreur : "TypeError: iteration over a 0-d array"
[React/JS] Actualiser image dans le front 
Plus de sujets relatifs à : Supprimer simplement un objet d'un array JS.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR