首页 > 编程语言 > 详细

对象排序

时间:2020-03-23 13:56:13      阅读:60      评论:0      收藏:0      [点我收藏+]
 var data={
        "x":{
            "id":8,
            "name":"x",
            },
        "y":{"id":1,"name":"y",},
        "s":{"id":1,"name":"s",},
        "g":{"id":9,"name":"g",},
    },
    data1={
        "x":8,
        "y":1,
        "s":2,
        "g":7,
    };
function sortObject(key,value,name,bool){
    /*
     *
        key:排序指定到某一个值,对比大小排序
        value:数据
        name:某一个值作为对象的key
        bool:true是从大到小排序,false是从小到大排序
    */
    var  _current={};
    if (!Object.values) {
        Object.values = function values(d) {
            var _currentArr=[];
            for(var _i in d){
                _currentArr.push(d[_i])
            }
            return _currentArr;
        };
    }
    var _sort;
    if(!bool){
        _sort=Object.values(value).sort(function(v,k){
            return (key?v[key]:v) - (key?k[key]:k);
        });
    }else{
        _sort=Object.values(value).sort(function(v,k){
            return  (key?k[key]:k) - (key?v[key]:v);
        });
    }
    for(var _k=0 ; _k < _sort.length; _k++){
        if(name){
            _current[_sort[_k][name]]=_sort[_k];
        }else{
            _current[_k]=_sort[_k];
        }
    }
    console.log(JSON.stringify(_current))
    return JSON.parse(JSON.stringify(_current));
}
sortObject(‘id‘,data,‘name‘,false);
 
效果
技术分享图片

 

 

对象排序

原文:https://www.cnblogs.com/front-969376855/p/12551265.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!