在 JavaScript 中查找数组的最小/最大元素
2009-11-03
1633295
如何轻松获取 JavaScript 数组的最小或最大元素?
示例伪代码:
let array = [100, 0, 50]
array.min() //=> 0
array.max() //=> 100
3个回答
如何增强内置 Array 对象以使用
Math.max
/
Math.min
来代替:
Array.prototype.max = function() {
return Math.max.apply(null, this);
};
Array.prototype.min = function() {
return Math.min.apply(null, this);
};
let p = [35,2,65,7,8,9,12,121,33,99];
console.log(`Max value is: ${p.max()}` +
`\nMin value is: ${p.min()}`);
这是一个 JSFiddle 。
增强内置函数可能会导致与其他库发生冲突(有些人会注意到),因此您可能更愿意只使用直接将
apply
中的
Math.xxx()
应用于您的数组:
var min = Math.min.apply(null, arr),
max = Math.max.apply(null, arr);
或者,假设您的浏览器支持 ECMAScript 6,您可以使用
spread 语法
,其功能类似于
apply
方法:
var min = Math.min( ...arr ),
max = Math.max( ...arr );
Roatin Marth
2009-11-03
var max_of_array = Math.max.apply(Math, array);
有关完整讨论,请参阅: http://aaroncrane.co.uk/2008/11/javascript_max_api/
newspire
2011-05-23
使用扩展运算符 (ES6)
Math.max(...array) // The same with "min" => Math.min(...array)
const array = [10, 2, 33, 4, 5];
console.log(
Math.max(...array)
)
Abdennour TOUMI
2016-08-23