[英]javascript/json how to remove an object from nested json array which got generated dynamically
我面临一个小问题,从嵌套的json数组中删除一个动态生成的对象。 下面是json ..
实际上我的要求是,我有一个JSON树,用户可以添加或删除多个节点..
[{
"mainTxt": "test",
"subTxt": "SubTxt1",
"nodes": [{
"mainTxt": "test",
"subTxt": "SubTxt2",
"nodes": [{
"mainTxt": "test",
"subTxt": "test Operations",
"nodes": [{
"mainTxt": "test",
"subTxt": "test Operations",
"nodes": [{
"mainTxt": "test",
"subTxt": "test Operations"
}]
}]
}]
}, {
"mainTxt": "test",
"subTxt": "SubTxt3",
"nodes": [{
"mainTxt": "test",
"subTxt": "test Operations",
"nodes": [{
"mainTxt": "test",
"subTxt": "test Operations"
}]
}]
}, {
"mainTxt": "test",
"subTxt": "india"
}, {
"mainTxt": "test",
"subTxt": "SubTxt4"
}, {
"mainTxt": "test",
"subTxt": "SubTxt5"
}]
}]
这里可以动态添加或删除以下代码块
"nodes": [{
"mainTxt": "test",
"subTxt": "test Operations"
}]
and
{
"mainTxt": "test",
"subTxt": "SubTxt5"
}
我如何删除动态添加的上面的块,再次删除后我需要形成相同的JSON数组。
我通过在数组中查找特定对象的索引并尝试使用splice()和delete()方法删除来尝试编写循环的多种方法。 但它没有正常工作。
其实我不想根据值删除对象,我想根据索引删除(如果我们添加或删除它可能会改变)。 大多数解决方案都是根据价值提供的。 如果有任何简单的解决方法,有人可以帮助我吗?
先感谢您..
您可以使用(删除deeperattribute
)删除JSON属性:
delete myjson.attribute.deeperattribute
您可以通过分配它们来添加JSON属性:
myjson.thirteen = 12;
我不确定我是否理解你的问题,但我希望这会在你的路上帮助你。
修复了以下代码的问题..
removeTile:function(oEvt){
this._deleteRecord(globalArray, selObject);
_oModel.setData(oModelData);
},
_deleteRecord:function(items, record){
if(items !== undefined){
for(var i=0;i< items.length;i++){
if(items[i]=== record){
items.splice(i,1);break;
}else{
this._deleteRecord(items[i].nodes, record);
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.