Guest User

Untitled

a guest
Jun 21st, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.55 KB | None | 0 0
  1. /*
  2. Given an input object
  3. var obj = {
  4. a: {
  5. b: 1,
  6. c: 1,
  7. d: {
  8. e: 1,
  9. f: 1
  10. }
  11. },
  12. g: 2,
  13. h: {
  14. i: 2,
  15. j: 3
  16. }
  17. };
  18. Flatten it so that the output is
  19. newObj = {
  20. a: 3
  21. b: 1
  22. c: 1
  23. d: 2
  24. e: 1
  25. f: 1
  26. g: 2
  27. h: 2
  28. i: 2
  29. j: 3
  30. }
  31. */
  32.  
  33. var newObj = {};
  34. function flatten(obj) {
  35. for(var key in obj) {
  36. if(typeof obj[key] === 'object') { //key is an object, so process again
  37. newObj[key] = Object.keys(obj[key]).length;
  38. flatten(obj[key]);
  39. } else {
  40. newObj[key] = obj[key]; //primitive value, just copy
  41. }
  42. }
  43. }
Add Comment
Please, Sign In to add comment