如何求数组的最值

微信公众号:不清不楚的迷茫
关注可了解更多的教程及排版技巧。问题或建议,请公众号留言;
如果你觉得教程对你有帮助,欢迎赞赏[1]

如何求数组的最值
 1//问题:如何求数组的最值
2
3var array = [54,65,43,21,12,34,45,58,97,24];
4
5//1,字符串拼接法(利用toString和join把数组转换为字符串,再用Math的max和mix方法进行拼接,最后执行eval方法)
6console.log(array.toString());//54,65,43,21,12,34,45,58,97,24
7console.log(eval("Math.max("+array.toString()+")"));//<==>eval("Math.max(54,65,43,21,12,34,45,58,97,24)")
8console.log(eval("Math.min(54,65,43,21,12,34,45,58,97,24)"));//<==>eval("Math.min("+array.toString()+")")
9console.log(Math.min(54,65,43,21,12,34,45,58,97,24))
10console.log(eval("Math.max("+array.join()+")"));//本质都是将字符串转换为可执行的代码,join():用于把数组中的所有元素放入一个字符串
11
12//2,排序法
13array.sort(
14    function(a,b){
15        return a-b;
16    }
17);
18console.log("最小值Min:"+array[0]);
19console.log("最大值Max:"+array[array.length-1]);
20
21//3,Math的max和min方法(查:appli()和call())
22console.log(Math.max.apply(null,array))
23console.log(Math.max.apply("这里随便写",array))
24
25//4,假设法(假设数组第一个值为最大,和后边比较,若后边的值比最大值大,则替换最大值)
26var max = array[0];
27var min = array[0];
28for (var i = 1; i < array.length; i++) {
29     var current = array[i];
30     current>max?max=current:null;
31     current<min?min=current:null;
32 } 
33console.log("最大值Max:"+max);
34
35//5,使用ES6的扩展运算符
36//console.log(array.Math(..array));//此方法不行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值