【算法图解|4】JavaScript 如何求数组的最大值和最小值

举报
孙叫兽 发表于 2021/03/27 23:10:50 2021/03/27
【摘要】 取出数组中的最大值或者最小值是开发中常见的需求 最原始的方法,莫过于循环遍历一遍: var arr = [6, 4, 1, 8, 2, 11, 23]; var result = arr[0];for (var i = 1; i < arr.length; i++) { result = Math.max(result, arr[i]);}console...

取出数组中的最大值或者最小值是开发中常见的需求

最原始的方法,莫过于循环遍历一遍:


  
  1. var arr = [6, 4, 1, 8, 2, 11, 23];
  2. var result = arr[0];
  3. for (var i = 1; i < arr.length; i++) {
  4. result = Math.max(result, arr[i]);
  5. }
  6. console.log(result);

通过遍历数组求出一个最终值,我们就可以使用 reduce 方法:


  
  1. var arr = [6, 4, 1, 8, 2, 11, 23];
  2. function max(prev, next) {
  3. return Math.max(prev, next);
  4. }
  5. console.log(arr.reduce(max));

如果我们先对数组进行一次排序,那么最大值就是最后一个值,最小值就是第一个值:


  
  1. var arr = [6, 4, 1, 8, 2, 11, 23];
  2. arr.sort(function(a,b){return a - b;});
  3. console.log(arr[arr.length - 1])

求最大值最小值?


  
  1. var arr = [6, 4, 1, 8, 2, 11, 23];
  2. console.log(Math.max.apply(null, arr))

 

文章来源: sunmenglei.blog.csdn.net,作者:孙叫兽,版权归原作者所有,如需转载,请联系作者。

原文链接:sunmenglei.blog.csdn.net/article/details/111644534

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。