JavaScript 多维数组中的最大值

max value in JavaScript multi-dimensional array

本文关键字:最大值 数组 JavaScript      更新时间:2023-09-26

>im 迈出了我与 Angular 的第一步,遇到了这个问题。 我有这个数组:

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)。 我该怎么做?? 我正在寻找尽可能多的"棱角分明"的解决方案

你可以尝试这样的事情:

最初,我们定义一个用于查找最大分数的函数。

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);

单行。这并非在所有浏览器中都有效,因为地图功能:

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