How about augmenting the built-in Array object to use Math.max
/ Math.min
instead:
(如何扩充内置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);
};
Here is a JSFiddle .
(这是一个JSFiddle 。)
Augmenting the built-ins can cause collisions with other libraries (some see), so you may be more comfortable with just apply
'ing Math.xxx()
to your array directly:
(增强内置函数可能会导致与其他库的冲突(有些人看到了),因此您可以更轻松地将直接apply
'ing Math.xxx()
直接应用于数组:)
var min = Math.min.apply(null, arr),
max = Math.max.apply(null, arr);
Alternately, assuming your browser supports ECMAScript 6, you can use the spread operator which functions similarly to the apply
method:
(或者,假设您的浏览器支持ECMAScript 6,则可以使用散布运算符 ,其功能类似于apply
方法:)
var min = Math.min( ...arr ),
max = Math.max( ...arr );
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…