Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Given an input object
- var obj = {
- a: {
- b: 1,
- c: 1,
- d: {
- e: 1,
- f: 1
- }
- },
- g: 2,
- h: {
- i: 2,
- j: 3
- }
- };
- Flatten it so that the output is
- newObj = {
- a: 3
- b: 1
- c: 1
- d: 2
- e: 1
- f: 1
- g: 2
- h: 2
- i: 2
- j: 3
- }
- */
- var newObj = {};
- function flatten(obj) {
- for(var key in obj) {
- if(typeof obj[key] === 'object') { //key is an object, so process again
- newObj[key] = Object.keys(obj[key]).length;
- flatten(obj[key]);
- } else {
- newObj[key] = obj[key]; //primitive value, just copy
- }
- }
- }
Add Comment
Please, Sign In to add comment