我有一个JSON对象:var myObj = {'test':'' , 'test2': '1'}
我想要一个方法来移动JSON对象并删除所有具有空值的属性''。
结果:
myObj = {'test2': '1'}
答案 0 :(得分:1)
这可能是一个可能的解决方案:
var jsonObj = '{"test1":"","test2":"2","test3":"","test4":"4"}';
var jsObj = JSON.parse(jsonObj);
function removeNull(element,index,array){
if (this[element] == ""){
delete this[element];
}
}
(Object.getOwnPropertyNames(jsObj)).forEach(removeNull,jsObj);
点击此链接jsfiddle查看一个有效的示例。
检查属性是否已删除:
alert(Object.getOwnPropertyNames(jsObj));
希望它有用!
答案 1 :(得分:0)
这个功能可以做你想要的。
var r = function(object){
var _return = {};
for ( var index in object ){
if(object[index] != ''){
_return[index] = object[index];
}
}
return _return ;
};
答案 2 :(得分:0)
试试这个jsfiddle!
代码:
var myObj = {'test':'' , 'test2': '1','test3': '2'}
var obj = myObj;
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
var val = obj[key];
delete obj[key];
console.log(val);
}
}
for (var key in obj) {
var val = obj[key];
alert(val);
//console.log(val);
}
如果您想了解有关理解delete
的更多信息,请查看此blog。