jquery 怎么判断一个数组的最大值并显示name

像下面的这种,怎么判断后面的数字大小并输出最大数的 a:7 这种形式。

var arr=[{a:7},{b:2},{c:0},{d:5},{e:1}];
阅读 3.1k
2 个回答
var arr=[{a:7},{b:2},{c:0},{d:5},{e:1}];
arr.sort(function(item1,item2){
    return item2[Object.keys(item2)[0]]-item1[Object.keys(item1)[0]]
})[0] //{a: 7}

1楼的答案不错,我这里写的容易理解一点,推荐使用1楼的方式

var arr=[{'a':7},{'b':2},{'c':0},{'d':5},{'e':1}];
var maxVal = 0;
var maxKey = '';

for (var i=0, len=arr.length; i<len; i++) {
    var o = arr[i];
    var values = Object.values(o);
    var keys = Object.keys(o);
    
    if (values[0] > maxVal) {
        maxVal = values[0];
        maxKey = keys[0];
    }
}
推荐问题
宣传栏