【发布时间】:2016-01-13 08:45:50
【问题描述】:
我有以下示例数据,我根据某些逻辑对其进行修改并返回修改后的对象
var obj = [{
Primary: "Hejrwe",
TestVal: "234723",
TestTool: [{
label: 'xyz',
num: '23'
}, {
label: "",
num: ""
}, {
label: "",
num: ""
}],
TestItv: [{
label: 'xyz',
num: '23'
}, {
label: "",
num: ""
}, {
label: "",
num: ""
}]
}, {
Primary: "Urwhe",
TestVal: "32432",
TestTool: [{
label: 'abc',
num: '24'
}, {
label: "",
num: ""
}, {
label: "",
num: ""
}],
TestItv: [{
label: 'abc',
num: '24'
}, {
label: "",
num: ""
}, {
label: "",
num: ""
}]
}];
我正在尝试删除 TestTool 数组中“label”和“num”键值为空字符串的任何键,目前我正在解决以下问题
var newObj = {};
Object.keys(obj).map(function(index) {
var val = obj[index].TestTool;
var temp = [];
for (var i in val) {
if (val[i].label !== "" || val[i].num !== "") {
temp.push(val[i]);
//delete val[i];
}
}
obj[index].TestTool = temp;
newObj = obj;
});
console.log(newObj);
在上面的代码中,“newObj”返回修改后的对象,但是如果你查看应用的逻辑,我使用一个临时数组来存储值,然后将其重新分配给“TestTool”键。
有没有更好的解决方案,我可以在通过对象时删除值?
【问题讨论】:
标签: javascript json