0
votes

Supprimer les données JSON avec ID généré

Comment puis-je supprimer un tableau d'un JSON avec un identifiant généré.

J'ai donc un json comme: xxx

et j'aime retirer le JSON pour Exemple avec l'ID 6, alors le JSON doit ressembler à: xxx

Comment puis-je faire cela?


2 commentaires

Vous devriez la restructurer en premier. Avoir ID: 9, artikelnr en tant que nom de propriété n'est pas très utile.


@Danielkreiner est-ce votre clé de l'objet? "ID: 2, artikelnr": ? Peut-être que ça ressemble à ça? "ID": 5, "Artikelnr": DFSDF3893


3 Réponses :


0
votes

Vous pouvez cartographier sur chaque objet, scinder la clé et vérifier si ID: 6 existe:

p>

const obj = { Artikel: [{ "id:1, artikelnr": "23453345", anzahl: 22 }, { "id:2, artikelnr": "asd323", anzahl: 2223 }, { "id:5, artikelnr": "dfsdf3893", anzahl: 72 }, { "id:6, artikelnr": "asdikr38", anzahl: 86 }, { "id:9, artikelnr": "2sad34533asd45", anzahl: 10 }] };

const blacklist = [1, 6]

obj.Artikel = obj.Artikel.filter(o => Object.keys(o).every(i => !blacklist.includes(+i.split(', ')[0].split(':')[1])))
console.log(obj)


0 commentaires

-1
votes

Un moyen plus simple de le faire, ce serait:

p>

const j = {"Artikel":[
  { "id":1, "artikelnr": "23453345", "anzahl": 22},
  { "id":2, "artikelnr": "asd323", "anzahl": 2223},
  { "id":5, "artikelnr": "dfsdf3893", "anzahl": 72},
  { "id":6, "artikelnr": "asdikr38", "anzahl": 86},
  { "id":9, "artikelnr": "2sad34533asd45", "anzahl": 10}
]}


j["Artikel"].forEach(function(item, index){
	if(item["id"] == 6){
		j["Artikel"].splice(index, 1)
	}
});

console.log(j)


0 commentaires

0
votes

Vous pouvez créer une regex dynamique basée sur le ID code> que vous voulez supprimer. Ensuite, Filtre Code> le tableau pour obtenir tous les objets qui n'ont pas de clés qui ont le motif donné

P>

const input={Artikel:[{"id:1, artikelnr":"23453345",anzahl:22},{"id:2, artikelnr":"asd323",anzahl:2223},{"id:5, artikelnr":"dfsdf3893",anzahl:72},{"id:6, artikelnr":"asdikr38",anzahl:86},{"id:9, artikelnr":"2sad34533asd45",anzahl:10}]},
    idToRemove = 6,
    regex = new RegExp(`id:${idToRemove}`),
    Artikel = input.Artikel.filter(o => !Object.keys(o).some(k => regex.test(k)))

console.log({ Artikel } )


0 commentaires