Skip to content

Commit

Permalink
Tag and build
Browse files Browse the repository at this point in the history
  • Loading branch information
Chalarangelo committed Dec 16, 2017
1 parent 1ffe150 commit 4fc9b69
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 3 deletions.
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@
* [Write JSON to file](#write-json-to-file)

### Object
* [Clean JSON object](#clean-json-object)
* [Object from key value pairs](#object-from-key-value-pairs)
* [Object to key value pairs](#object-to-key-value-pairs)
* [Shallow clone object](#shallow-clone-object)
Expand Down Expand Up @@ -1032,6 +1033,30 @@ const jsonToFile = (obj, filename) => fs.writeFile(`${filename}.json`, JSON.stri
[⬆ back to top](#table-of-contents)
## Object

### Clean JSON object

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}}
*/
```

[⬆ back to top](#table-of-contents)

### Object from key-value pairs

Use `Array.reduce()` to create and combine key-value pairs.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
### Clean Json objects
### Clean JSON object

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.
Expand All @@ -7,9 +7,9 @@ also if you give it a special key(`childIndicator`) it will search deeply inside
const cleanObj = (obj, keysToKeep = [], childIndicator) => {
Object.keys(obj).forEach(key => {
if (key === childIndicator) {
cleanObj(obj[key], keysToKeep, childIndicator)
cleanObj(obj[key], keysToKeep, childIndicator);
} else if (!keysToKeep.includes(key)) {
delete obj[key]
delete obj[key];
}
})
}
Expand Down
1 change: 1 addition & 0 deletions tag_database
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ capitalize-first-letter:string
chain-asynchronous-functions:function
check-for-palindrome:string
chunk-array:array
clean-JSON-object:object
collatz-algorithm:math
compact:array
compose-functions:function
Expand Down

0 comments on commit 4fc9b69

Please sign in to comment.