我有一个像下面这样的物体
{
"containers": [
{
"fields": [
{},
{},
'associative1': {},
'associative2': {}
]
}
]
}因此,基本上“字段”是一个数组,它包含两个字段( fields1 & fieldsassociative1、fieldsassociative2 )等元素
我的问题是我能动态删除“只是”编号的元素..。所以最后“字段”应该只有associative1,associative2元素
发布于 2017-10-14 07:23:55
创建一个看起来与您想要的一样的有效对象.
var a = [{abc:1},{xyz:2}];
a.associative1 = {};
a.associative2 = {};
console.log(a);输出(来自Chrome)
(2) [{…}, {…}, associative1: {…}, associative2: {…}]
0: {abc: 1}
1: {xyz: 2}
associative1: {}
associative2: {}
length: 2--您可以只删除编号如下的数组元素.
a.splice(0,a.length);或者如果数组对象包含在一个更大的对象中,像这样的东西会工作.
c.containers[0].fields.splice(0,c.containers[0].fields.length)发布于 2017-10-14 07:26:31
给你一个解决办法
var data = {
"containers": [
{
"fields": [
{'abc': 1},
{'xyz': 2},
{'associative1': {}},
{'associative2': {}}
]
}
]
};
for(var k in data["containers"][0]["fields"]){
for(var key in data["containers"][0]["fields"][k]){
if(!isNaN(data["containers"][0]["fields"][k][key])){
delete data["containers"][0]["fields"][k];
}
}
}
data["containers"][0]["fields"] = data["containers"][0]["fields"].filter(function( element ) {
return element !== undefined;
});
console.log(data);<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
您的JSON无效。我稍微改变了一下JSON。
希望这能帮到你。
https://stackoverflow.com/questions/46741624
复制相似问题