Je tente d'enlever tout objet vide et tableau de mon objet json en utilisant lodash dans angular2 mais sans analyser correctement l'objet.Suppression récursive de l'objet vide et du tableau de l'objet json en utilisant loadsh angulaire 2
Mon Json Objet:
{
"personal": {
"strenths": {},
"books": [{},{},{"Perority1": "Test","level": ""},{"Perority2": "","level": ""},{"courses": [{},{},{}]}]
},
"eduction": [{},{},[{}]]
};
Essayez de supprimer la méthode utilisant
clean(obj) {
console.log("Enter in a Clean() Method::::");
Object.keys(obj).forEach(key => {
if ($.isArray(obj[key])) {
obj[key] = $.remove(obj[key], function(n) {
if ($.isObject(n) && (n === null || n === undefined || $.isEmpty(n))) {
return false;
} else {
return true;
}
});
console.log("After Change Array:::::" + JSON.stringify(obj[key]));
if (obj[key] === null || obj[key] === undefined || $.isEmpty(obj[key])) {
delete obj[key];
} else {
this.clean(obj[key]);
}
} else if ($.isObject(obj[key])) {
if (obj[key] === null || obj[key] === undefined || $.isEmpty(obj[key])) {
delete obj[key];
} else {
this.clean(obj[key]);
}
}
});
return obj;
}
Ma sortie:
{"personal":{"books":[{"Perority1":"Test","level":""},{"Perority2":"","level":""},{}]},"eduction":[null]}
Résultats escomptés:
{"personal":{"books":[{"Perority1":"Test","level":""},{"Perority2":"","level":""}]}}