我有一个简单的JavaScript数组对象包含几个数字。

[267, 306, 108]

有没有一个函数能找到这个数组中最大的数?


当前回答

你也可以使用forEach:

var maximum = Number.MIN_SAFE_INTEGER; Var数组= [-3,-2,217,9,- 8,46]; array.forEach(功能(价值){ If(值> maximum) { 最大值=值; } }); console.log(最大);/ / 217

其他回答

最简单的语法,使用新的展开操作符:

var arr = [1, 2, 3];
var max = Math.max(...arr);

来源:Mozilla MDN

辞职拯救:

Array.max = function( array ){
    return Math.max.apply( Math, array );
};

警告:由于在某些虚拟机上参数的最大数量低至65535,如果您不确定数组有那么小,请使用for循环。

求最大值和最小值的简单和手动的方法。这段代码比Math.max.apply快得多;我已经在数组中尝试了多达1000k个数字。

function findmax(array)
{
    var max = 0;
    var a = array.length;
    for (counter=0;counter<a;counter++)
    {
        if (array[counter] > max)
        {
            max = array[counter];
        }
    }
    return max;
}

function findmin(array)
{
    var min = array[0];
    var a = array.length;
    for (counter=0;counter<a;counter++)
    {
        if (array[counter] < min)
        {
            min = array[counter];
        }
    }
    return min;
}

Use:

var arr = [1, 2, 3, 4];

var largest = arr.reduce(function(x,y) {
    return (x > y) ? x : y;
});

console.log(largest);
let array = [267, 306, 108]
let longest = Math.max(...array);