Remove Undefined Properties From Object
I would like to recursively clean any fields which are undefined, or have an empty object as parent like this following: Example: { 'a': { 'b': { 'c': undefined, }
Solution 1:
functionfilter(obj) {
for (var key in obj) {
if (obj[key] === undefined) {
delete obj[key];
continue;
}
if (obj[key] && typeof obj[key] === "object") {
filter(obj[key]);
if (!Object.keys(obj[key]).length) {
delete obj[key];
}
}
}
return obj;
}
var data = {
"a": {
"b": {
"c": undefined,
}
},
"d": undefined,
"e": {
"f": undefined,
},
"g": {
"h": 'I',
"j": undefined,
},
"k": "L",
"m": {
"n": {
"o": {
"z": undefined,
}
},
"p": 'toto'
}
};
console.log(filter(data));
Simply delete these keys and iterate recursively.
Solution 2:
functioncleanArray(actual) {
var newArray = newObject();
newArray=JSON.parse(JSON.stringify(actual));
return newArray;
}
var obj={
"a": {
"b": {
"c": undefined,
}
},
"d": undefined,
"e": {
f: undefined,
},
"g": {
"h": 'I',
"j": undefined,
},
"k": "L",
"m": {
"n": {
"o": {
"z": undefined,
}
},
"p": 'toto'
}
};
console.log(cleanArray(obj));
Post a Comment for "Remove Undefined Properties From Object"