JavaScript多维数组中的最大值

时间:2015-01-09 16:30:21

标签: javascript angularjs angularjs-scope

我采取角度的第一步,并遇到了这个问题。我有这个数组:

var users = [{
    id: 0,
    'name': 'John',
    'score': '46',
    'difference': 'diff from top'
},{
    id: 0,
    'name': 'Harry',
    'score': '45',
    'difference': 'diff from top'
},{
    id: 0,
    'name': 'Sam',
    'score': '43',
    'difference': 'diff from top'
}];

我希望获得最高分并将其存储在变量中(在本例中为46)。我怎样才能做到这一点??我正在寻找尽可能多的"棱角分明的"解决方案尽可能

2 个答案:

答案 0 :(得分:3)

您可以尝试这样的事情:

最初,我们定义了一个查找最高分数的函数。

function getHighestScore(array) {
    var max;
    for (var i = 0; i < array.length; i++) {
        if (array[i].score > (max || 0))
            max = array[i].score;
    }
    return max;
}

然后我们将用户数组传递给它并获得最高分数。

var maxScore = getHighestScore(users);

答案 1 :(得分:0)

单线。由于地图功能,这在所有浏览器中都不起作用:

Math.max.apply(null, users.map(function(elem) { return +elem.score;}))