Comment puis-je supprimer un tableau d'un JSON avec un identifiant généré.
J'ai donc un json comme: p> et j'aime retirer le JSON pour Exemple avec l'ID 6, alors le JSON doit ressembler à: p> Comment puis-je faire cela? p> p>
3 Réponses :
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)
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)
Vous pouvez créer une regex dynamique basée sur le P> 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é 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 } )
Vous devriez la restructurer en premier. Avoir
ID: 9, artikelnr code> en tant que nom de propriété n'est pas très utile.
@Danielkreiner est-ce votre clé de l'objet?
"ID: 2, artikelnr": code>? Peut-être que ça ressemble à ça?
"ID": 5, "Artikelnr": DFSDF3893 CODE>