我有一个简单的JavaScript数组对象包含几个数字。
[267, 306, 108]
有没有一个函数能找到这个数组中最大的数?
我有一个简单的JavaScript数组对象包含几个数字。
[267, 306, 108]
有没有一个函数能找到这个数组中最大的数?
当前回答
您还可以扩展Array以拥有此函数,并使其成为每个数组的一部分。
Array.prototype.max = function(){return Math.max.apply( Math, this )};
myArray = [1,2,3];
console.log( myArray.max() );
其他回答
let array = [267, 306, 108]
let longest = Math.max(...array);
你可以对数组进行降序排序,得到第一项:
[267, 306, 108].sort(function(a,b){return b-a;})[0]
不要忘记,wrap可以用Function.prototype来完成。Bind,为您提供一个“全本地”函数。
var aMax = Math.max.apply.bind(Math.max, Math);
aMax([1, 2, 3, 4, 5]); // 5
您还可以扩展Array以拥有此函数,并使其成为每个数组的一部分。
Array.prototype.max = function(){return Math.max.apply( Math, this )};
myArray = [1,2,3];
console.log( myArray.max() );
最简单的语法,使用新的展开操作符:
var arr = [1, 2, 3];
var max = Math.max(...arr);
来源:Mozilla MDN