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

[267, 306, 108]

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


当前回答

要找到数组中最大的数字,您只需要使用Math.max(…arrayName);。它是这样工作的:

let myArr = [1, 2, 3, 4, 5, 6];
console.log(Math.max(...myArr));

要了解更多关于Math.max的信息: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/max

其他回答

您还可以扩展Array以拥有此函数,并使其成为每个数组的一部分。

Array.prototype.max = function(){return Math.max.apply( Math, this )};
myArray = [1,2,3];

console.log( myArray.max() );

使用冒泡排序找到最大和最小值

Var arr = [267, 306, 108]; (i = 0 k = 0;我< arr.length;我+ +){ (j = 0;<我;j + +) { 如果(arr[我]> arr [j]) { K = arr[i]; Arr [i] = Arr [j]; r[j] = k; } } } console.log('最大数字:'+ arr[0]); console.log('最小值:'+ arr[arr.length-1]);

运行这个:

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

现在尝试[3,10,2].max()返回10

Use:

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

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

console.log(largest);

使用- Array.prototype.reduce()很酷!

[267, 306, 108].reduce((acc,val)=> (acc>val)?acc:val)

式中acc =累加器,val =当前值;

var a = [267, 306, 108].reduce((acc,val)=> (acc>val)?acc:val); 控制台.log(a);