如何从对象获取最高的键和值

时间:2014-11-04 23:22:56

标签: javascript

我正在尝试从对象中获取最高的键和值,如何返回所需的结果?

这是我的目标:

categories = {
            'personal' : 4,
            'swag' : 3,
            'mingle' : 2,
            'attention' : 1
};

所需功能:

returnMax(categories) // {personal : 4}

2 个答案:

答案 0 :(得分:1)

我会这样做:http://jsfiddle.net/nwj7sad1/5/

categories = {
    'personal' : 4,
    'swag' : 3,
    'mingle' : 2,
    'attention' : 1
};


console.log(MaxCat(categories));

function MaxCat(obj){
    var highest = 0;
    var arr = [];
    for (var prop in obj) {
        if( obj.hasOwnProperty( prop ) ) {
            if(obj[prop] > highest ){ 
                arr = [];
                highest = obj[prop];
                arr[prop] = highest;
            }

        } 
    }
    return arr;
}

答案 1 :(得分:0)

对于这些类型的东西,我喜欢编写自己的算法。这是我很快写的一篇:

function highest(o){
    var h = undefined;

    for(var key in o){
        var current = o[key];

        if(h === undefined || current > h){
            h = current;
        }
    }

    return h;
}

JSFiddle