From f26c94edabcce1eb3b4de959cd03c13bc3a86e29 Mon Sep 17 00:00:00 2001 From: iamsoorena Date: Thu, 14 Dec 2017 18:41:38 +0330 Subject: [PATCH] adding function to clean json objects, deeply. --- snippets/clean-json-objects.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 snippets/clean-json-objects.md diff --git a/snippets/clean-json-objects.md b/snippets/clean-json-objects.md new file mode 100644 index 000000000..46ef745dc --- /dev/null +++ b/snippets/clean-json-objects.md @@ -0,0 +1,20 @@ +### Clean Json objects + +Clean your json object from unwanted keys, deeply. +provide set of `keys` to keep and an indicator for `children` if there is any. + +```js +const cleanObj = (obj, keys = [], childIndicator) => { + Object.keys(obj).forEach(key => { + if (key === childIndicator) { + cleanObj(obj[key], keys, childIndicator) + } else if (!keys.includes(key)) { + delete obj[key] + } + }) +} +/* + dirtyObj = { a: 1, b: 2, children: {a: 1, b :2}} + let cleaned = cleanObj(dirtyObj, [a]) // { a: 1, children : { a: 1}} + */ +```