Javascript 如何删除嵌套的JSON元素?
我的JSON看起来像这样Javascript 如何删除嵌套的JSON元素?,javascript,json,typescript,Javascript,Json,Typescript,我的JSON看起来像这样 var data = [{ "ID" : 3, "discRec" : "Some sample record", "Tasks" : [{ "ID" : 7, "discParcel" :
var data = [{
"ID" : 3,
"discRec" : "Some sample record",
"Tasks" : [{
"ID" : 7,
"discParcel" : ["string1", "string2"]
}]
},
{
"ID" : 4,
"discRec" : "Some sample record 2",
"Tasks" : [{
"ID" : 8,
"discParcel" : ["string3", "string4"]
}]
}];
现在,我想删除'discParcel'的第一个元素,它的ID attr为'8',其父ID attr为'4'。如何在angular 2中做到这一点。任何人都可以帮忙。假设数据是有效的JSON,您可以像在普通javascript中一样:
let arr = JSON.parse(data);
arr.forEach(e => {
if(e.ID === 4){
Tasks.forEach(el => {
if(el === 8){
discParcel.shift();
}
})
}
})
这在JS或JSON中不是有效的语法。。。数据是数组吗?这与angular2有什么关系?这是一个javascript问题。我想删除'discParcel'的第一个元素,它的ID attr为'8',其父ID attr为'4'。如何在angular 2中做到这一点。我尝试了此数据[]。ID['3'].任务[]。ID['8'].discParcel[0],您能帮忙吗。但是它抛出了一个错误。现在请不要忘记我为什么总是忘记
find()
有多棒。不客气。此解决方案假定有一个ID为4的记录,并且它有一个ID为8的任务。如果不能保证这是一种情况,则必须为临时变量赋值,并在三个操作之间检查undefined
。
data
.find(record => record.ID === 4)
.Tasks.find(task => task.ID === 8)
.discParcel.shift();