我有一个存储表的列的json。我想删除名为'Foo'的列。这段代码从我的json中删除了Column,但它没有完全删除它,而是在我的Columns数组中留下了一个空值。
如何完成删除?
var json = { 'Columns': [] };
json.Columns.push({ 'Name': 'Foo' });
json.Columns.push({ 'Name': 'Bar' });
$.each(json.Columns, function (index, col) {
if (col.Name == 'Foo') {
delete json.Columns[index];
}
});
结果:{"Columns":[null,{"Name":"Bar"}]}
答案 0 :(得分:3)
if (col.Name == 'Foo') {
json.Columns.splice(index,1);
}
将正确删除对象
答案 1 :(得分:2)
只是过滤数据,或者你可以分割数组,但我认为这是一个过度杀伤,所以去吧
Array.filter
json.Columns = json.Columns.filter(function(col){
return col.Name !== 'Foo';
});