求数组最大值的方法

Math.max()

注意:Math.max()传入的参数是离散的数字,故而需要使用展开运算符...将数组展开。

var ary=[1,2,3];
var res=Math.max(...ary);
console.log(res);

手动封装getMax()方法

function getMax(ary){
    var max=ary[0];
    for(var i=1;i<ary.length;i++){
        if(max<ary[i]){
            max=ary[i];
        }
    }
    return max;
}
var ary0=[1,4,2,3];
console.log(getMax(ary0));

数组sort()方法

sort()方法简单回顾
/* 
数组排序 sort()
*/

var ary=[1,2,4,3];
//升序
ary.sort(function(a,b){
    return a-b;
});
//降序
ary.sort(function(a,b){
    return b-a;
});


var ary2=[{age:10},{age:30},{age:20}];
ary2.sort(function(a,b){
    //a、b 代表的是数组中的每一项
    return a.age-b.age;
});
console.log(ary2);
降序
//降序:最大值为数组第一项
var ary1=[1,2,3];
ary1.sort(function(a,b){
    return b-a;
})[0];

//unshift() 删除数组第一项并将数值返回(会更改原数组)
var ary1=[1,2,3];
ary1.sort(function(a,b){
    return b-a;
}).unshift();
升序
//升序:最大值为数组最后一项
var ary2=[1,2,3];
ary2.sort(function(a,b){
    return a-b;
})[ary.length-1];

//pop() 删除数组最后一项并将数值返回(会更改原数组)
var ary3=[1,2,3];
ary3.sort(function(a,b){
    return a-b;
}).pop();

函数的apply()方法

apply() 传入的第一个参数

  • 严格模式:
    • 不传值或者传入undefined,内部this值为undefined
    • 传入null,内部this值为null
  • 非严格模式:无论传入是undefined、null还是不传值,内部this值都是window

apply()剩余参数以数组形式传入

var ary4=[1,2,3]
Math.max.apply(null,ary4);

借用冒泡排序思想

var ary5=[1,3,2];
for(var i=0;i<ary.length-1;i++){
    if(ary[i]>ary[i+1]){
        var temp=ary[i];
        ary[i]=ary[i+1];
        ary[i+1]=temp;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值