Advertisement
Guest User

Untitled

a guest
Apr 1st, 2015
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.60 KB | None | 0 0
  1. // alternative approach for testing if value is an Object
  2.  
  3. (function() {
  4.  
  5. 'use strict';
  6.  
  7. var hash = {
  8. level1a: 'l1a',
  9. level1b: 'l1b',
  10. level1c: {
  11. level2a: 'l2a',
  12. level2b: {
  13. level3a: 'l3a'
  14. },
  15. level2c: 'l2c'
  16. },
  17. level1d: 'l1d'
  18. };
  19.  
  20. var x = 1,
  21. flat = {};
  22.  
  23. function flatten(nested) {
  24.  
  25. for (var key in nested) {
  26.  
  27. if ( isObj(nested[key]) ) {
  28. console.log('nested ', nested[key]);
  29. flatten(nested[key]);
  30. } else {
  31. flat['prop' + x] = nested[key];
  32. x++;
  33. }
  34.  
  35. }
  36.  
  37. return flat;
  38.  
  39. }
  40.  
  41. function isObj(obj) {
  42. return obj === Object(obj);
  43. }
  44.  
  45. console.log(flatten(hash));
  46.  
  47. }());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement