diff --git a/snippets_archive/cleanObj.md b/snippets_archive/cleanObj.md deleted file mode 100644 index 40956a51a..000000000 --- a/snippets_archive/cleanObj.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: cleanObj -tags: object,beginner ---- - -Removes any properties except the ones specified from a JSON object. - -Use `Object.keys()` method to loop over given JSON object and deleting keys that are not included in given array. -If you pass a special key,`childIndicator`, it will search deeply apply the 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]; - } - }); - return obj; -}; -``` - -```js -const testObj = { a: 1, b: 2, children: { a: 1, b: 2 } }; -cleanObj(testObj, ['a'], 'children'); // { a: 1, children : { a: 1}} -``` \ No newline at end of file diff --git a/test/cleanObj.test.js b/test/cleanObj.test.js deleted file mode 100644 index 4cc144c5a..000000000 --- a/test/cleanObj.test.js +++ /dev/null @@ -1,9 +0,0 @@ -const {cleanObj} = require('./_30s.js'); - -test('cleanObj is a Function', () => { - expect(cleanObj).toBeInstanceOf(Function); -}); -const testObj = { a: 1, b: 2, children: { a: 1, b: 2 } }; -test('Removes any properties except the ones specified from a JSON object', () => { - expect(cleanObj(testObj, ['a'], 'children')).toEqual({ a: 1, children: { a: 1 } }); -});