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

小年
  • 48

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

var arr=[{a:7},{b:2},{c:0},{d:5},{e:1}];
回复
阅读 1.3k
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];
    }
}
你知道吗?

宣传栏