Advertisement
Booster

Object sorting JS

Apr 4th, 2015
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. The same nested object sorting by value, but in functions
  3. */
  4.  
  5. Object.keys(result).forEach(function (key) {
  6.                 output[key] = {};
  7.                 Object.keys(result[key]).sort(function (a, b) {
  8.                     //console.log(result[key][a].kg)
  9.                     return result[key][a].kg - result[key][b].kg;
  10.                 }).forEach(function (innerKey) {
  11.                     output[key][innerKey] = result[key][innerKey];
  12.                 });
  13.             })
  14.  
  15.  
  16.  
  17.  
  18. // I MADE ONE OBJECT WITH  KEY { KEY : VALUE} SORT BY PROPERTY AND IN THIRD OBJ A WRITE THE NEW SORTED OBJECTS
  19.  
  20. // { 'Ivan': { clothes: { kg: 5.6, color: 'white' }
  21. //             food: { kg: 13, type: fruits}}
  22. //   'Peter': { drinks: { kg: 4.5, type: 'vodka' }}
  23. // }
  24.  
  25. //Help Obj
  26.  
  27. // { 'Ivan': { clothes: 5.6}
  28. //   'Peter': {drinks: 4.5}
  29. // }
  30.  
  31.     function sortObjFromHelpObj(helpObj, mainObjToSort) {
  32.         var sortedByProp = {};
  33.         for (var k in helpObj) {
  34.             helpObj[k] = sortObjByProperty(helpObj[k])
  35.         }
  36.         for (i in helpObj) {
  37.             sortedByProp[i] = {};
  38.             for (j in helpObj[i]) {
  39.                 sortedByProp[i][j] = mainObjToSort[i][j];
  40.  
  41.             }
  42.         }
  43.         return sortedByProp;
  44.     }
  45.  
  46.     function sortObjByProperty(obj) {
  47.         var key,
  48.             sortable = [],
  49.             sortedObj = {};
  50.         for (key in obj) {
  51.             if (obj.hasOwnProperty(key)) {
  52.                 sortable.push([key, obj[key]])
  53.             }
  54.         }
  55.         sortable.sort(function (a, b) {
  56.             return a[1] - b[1];
  57.         });
  58.         for (j in sortable) {
  59.             sortedObj[sortable[j][0]] = obj[sortable[j][0]];
  60.         }
  61.         return sortedObj;
  62.  
  63.     }
  64.  
  65.     function sortObjByKey(obj) {
  66.         var index, subObj = {};
  67.         ;
  68.         var keys = Object.keys(obj).sort();
  69.         for (index in keys) {
  70.             subObj[keys[index]] = obj[keys[index]];
  71.         }
  72.         return subObj;
  73.  
  74.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement