Merge pull request #125 from iamsoorena/JsonCleaner

adding function to clean json objects, deeply.
This commit is contained in:
Angelos Chalaris
2017-12-16 14:23:48 +02:00
committed by GitHub

View File

@ -0,0 +1,21 @@
### Clean Json objects
Use `Object.keys()` method to loop over given json object and deleting keys that are not `include`d in given array.
also if you give it a special key(`childIndicator`) it will search deeply inside it to apply function to inner objects too.
```js
const cleanObj = (obj, keysToKeep = [], childIndicator) => {
Object.keys(obj).forEach(key => {
if (key === childIndicator) {
cleanObj(obj[key], keysToKeep, childIndicator)
} else if (!keysToKeep.includes(key)) {
delete obj[key]
}
})
}
/*
testObj = {a: 1, b: 2, children: {a: 1, b: 2}}
cleanObj(testObj, ["a"],"children")
console.log(testObj)// { a: 1, children : { a: 1}}
*/
```