天天看點

Java數組去掉最大值和最小值_不影響原數組的情況下,擷取數組的最大值和最小值...

var arr = [2, 1, 6, 99, 101, 4, 1, 23];     var newArr = [];     for(var i = 0; i 

2.選擇排序的思想

var max = arr[0];

var min = arr[0];

for(var i = 1; i < arr.length; i++) {

if(max < arr[i]){

max = arr[i];

}

if(min > arr[i]){

min = arr[i];

}

}

console.log("數組的最大值為:"+ max +",最小值為:"+ min);

3.使用ES5中提供的數組内置map方法,原理還是周遊整個數組,在新數組中再進行操作

var newArr = [];

var res = arr.map(function(val, idx, self) {

newArr.push(val);

})

newArr.sort(function(a, b) {

return a-b;

})

console.log("數組的最大值為:"+ newArr[newArr.length - 1] +",最小值為:"+ newArr[0]);

4.使用ES5中提供的數組内置reduce方法,這種方法較難了解,我們結合代碼了解

var max = arr.reduce(function(prev, val, idx, self) {

if(prev > val){

return prev;

}else{

return val;

}

}, arr[0])

var min = arr.reduce(function(prev, val, idx, self) {

if(prev < val){

return prev;

}else{

return val;

}

}, arr[0])

console.log("數組的最大值為:"+ max +",最小值為:"+ min);

方法還有很多,後續可更,也歡迎開發朋友們來讨論其他方法!