var template = {
personal: {},
education: {},
certificate: [{"test": "Test"}, {}, {}],
experience: []
}
removeEmptyObj(template);
function removeEmptyObj(obj)
for (var key in obj) {
console.log("Foor Loop" + key + " " + obj[key]);
if (_.isObject(obj[key]) && !_.isEmpty(obj[key])) {
console.log("Second Loop Object:::" + key + " " + obj[key]);
removeEmptyObj(obj[key]);
}
if (_.isEmpty(obj[key])) {
console.log("Delete Object:::" + key + " " + obj[key]);
obj = _.omitBy(obj, _.isEmpty);
}
}
console.log(obj);
return obj;
}
Stromausgang verwendet, ist: {certificate: [{"test": "Test"}, {}, {}]}
Wie leeres Objekt von JSON entfernen rekursiv lodash
gewünschte Ausgabe: {certificate: [{"test": "Test"}]}
Was Ihre Hilfe falsch hier schätzen :)
Dies lässt Lücken in Arrays. Zum Beispiel wird '[{}, {test: 1}]' '[undefiniert, {test: 1}]'. – trincot
@trincot - danke für den Fang. Ich habe es überarbeitet, und jetzt wird alles rekursiv gereinigt. –
ist es Arbeit wie Charme :) @OriDrori –