Sorting a JavaScript object by property name

后端 未结 6 1188
遥遥无期
遥遥无期 2020-11-22 16:24

I\'ve been looking for a while and want a way to sort a Javascript object like this:

{
    method: \'artist.getInfo\',
    artist: \'Green Day\',
    format:         


        
6条回答
  •  温柔的废话
    2020-11-22 17:19

    // if ya need old browser support
    Object.keys = Object.keys || function(o) {  
    var result = [];  
    for(var name in o) {  
        if (o.hasOwnProperty(name))  
          result.push(name);  
    }  
        return result;  
    };
    
    var o = {c: 3, a: 1, b: 2};
    var n = sortem(o);
    
    function sortem(old){
      var newo = {}; Object.keys(old).sort().forEach(function(k) {new[k]=old[k]});
      return newo;
    }
    
    // deep
    function sortem(old){
      var newo = {}; Object.keys(old).sort().forEach(function(k){ newo[k]=sortem(old[k]) });
      return newo;
    }
    sortem({b:{b:1,a:2},a:{b:1,a:2}})
    

提交回复
热议问题