JSON除去性能我有一個JSON對象:var myObj = {'test':'' , 'test2': '1'}
包含空值
我要上移過JSON對象併除去具有空值「」的所有屬性的方法。
結果: myObj = {'test2': '1'}
JSON除去性能我有一個JSON對象:var myObj = {'test':'' , 'test2': '1'}
包含空值
我要上移過JSON對象併除去具有空值「」的所有屬性的方法。
結果: myObj = {'test2': '1'}
這個功能做ü想要什麼。
var r = function(object){
var _return = {};
for (var index in object){
if(object[index] != ''){
_return[index] = object[index];
}
}
return _return ;
};
試試這個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更多信息。
這可能是一個可能的解決方案:
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區分JSON字符串和JS對象:-) – Bergi 2014-09-28 09:37:35
您在混合「* proprietary *」和「* property *」 – Bergi 2014-09-27 18:11:29