Javascript 删除具有生成ID的Json数据
如何从具有生成ID的JSON中删除数组 所以我有一个JSON,比如:Javascript 删除具有生成ID的Json数据,javascript,html,arrays,json,cordova,Javascript,Html,Arrays,Json,Cordova,如何从具有生成ID的JSON中删除数组 所以我有一个JSON,比如: { "Artikel":[ { "id:1, artikelnr": "23453345", "anzahl": 22}, { "id:2, artikelnr": "asd323", "anzahl": 2223}, { "id:5, artikelnr": "dfsdf3893", "anzahl": 72}, { "id:6, artikelnr":
{
"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}
]
}
我想删除json,例如id为6的json,那么json应该如下所示:
{
"Artikel":[
{ "id:1, artikelnr": "23453345", "anzahl": 22},
{ "id:2, artikelnr": "asd323", "anzahl": 2223},
{ "id:5, artikelnr": "dfsdf3893", "anzahl": 72},
{ "id:9, artikelnr": "2sad34533asd45", "anzahl": 10}
]
}
如何实现此操作?您可以映射每个对象,拆分密钥并检查id:6是否存在:
const obj={Artikel:[{id:1,artikelnr:“23453345”,anzahl:22},{“id:2,artikelnr:“asd323”,anzahl:2223},{“id:5,artikelnr:“dfsd3893”,anzahl:72},{“id:6,artikelnr:“asdikr38”,anzahl:86},{“id:9,artikelnr:“2sad34533asd45”,anzahl:10};
obj.Artikel=obj.Artikel.filter(o=>Object.keys(o.every)(i=>i.split(',')[0]!==id:6'))
console.log(obj)
一种更简单的方法是:
const j={“Artikel”:[
{“id”:1,“Artikenr”:“23453345”,“anzahl”:22},
{“id”:2,“Artikenr”:“asd323”,“anzahl”:2223},
{“id”:5,“Artikenr”:“dfsdf3893”,“anzahl”:72},
{“id”:6,“artikelnr”:“asdikr38”,“anzahl”:86},
{“id”:9,“Artikenr”:“2sad34533asd45”,“anzahl”:10}
]}
j[“Artikel”].forEach(功能(项目、索引){
如果(项目[“id”]==6){
j[“Artikel”]拼接(索引1)
}
});
log(j)
您可以根据要删除的id
创建一个动态正则表达式。然后,数组将获取所有没有任何具有给定模式的键的对象
const input={Artikel:[{“id:1,artikelnr”:“23453345”,anzahl:22},{“id:2,artikelnr”:“asd323”,anzahl:2223},{“id:5,artikelnr”:“dfsd3893”,anzahl:72},{“id:6,artikelnr”:“asdikr38”,anzahl:86},{“id:9,artikelnr”:“2sad34533asd45”,anzahl:10},
idToRemove=6,
regex=newregexp(`id:${idToRemove}`),
Artikel=input.Artikel.filter(o=>!Object.keys(o).some(k=>regex.test(k)))
log({Artikel})
您应该首先重新构造它。将id:9,artikelnr
作为属性名不是很有用。@DanielKreiner是您的对象键吗<代码>“id:2,Artikenr”:?也许看起来像这样<代码>“id”:5,“Artikenr”:dfsdf3893