求数组的最值?
方法一:
- 求数组最大值:Math.max.apply(null,arr);
var arr = [3,43,23,45,65,90];
var max = Math.max.apply(null,arr);
console.log(max);
// 90
- 求数组最小值:Math.min.apply(null,arr);
var arr = [3,43,23,45,65,90];
var min = Math.min.apply(null,arr);
console.log(min);
// 3
方法二:Array.max = function(arr){} / Array.min = function(arr){}
var array = [3,43,23,45,65,90]; Array.max = function( array ){ return Math.max.apply( Math, array ); }; Array.min = function( array ){ return Math.min.apply( Math, array ); }; var max = Array.max(array); console.log(max); // 90 var min = Array.min(array); console.log(min); // 3
方法三:Array.prototype.max = function(){};Array.prototype.min = function(){};
-
求数组最大值(基本思路:将数组中的第一个值赋值给变量max ,将数组进行循环与max进行比较,将数组中的大值赋给max,最后返回max;)
var arr = [3,43,23,45,65,90]; Array.prototype.max = function() { var max = this[0]; var len = this.length; for (var i = 0; i < len; i++){ if (this[i] > max) { max = this[i]; } } return max; } var max = arr.max(); console.log(max); // 90
- 求数组最小值:
var arr = [3,43,23,45,65,90]; Array.prototype.min = function() { var min = this[0]; var len = this.length; for(var i = 0;i< len;i++){ if(this[i] < min){ min = this[i]; } } return min; } var min = arr.min(); console.log(min); // 3
.