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);

方法还有很多,后续可更,也欢迎开发朋友们来讨论其他方法!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值