博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【算法图解|4】JavaScript 如何求数组的最大值和最小值
阅读量:2046 次
发布时间:2019-04-28

本文共 577 字,大约阅读时间需要 1 分钟。

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

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

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.log(result);

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

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

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

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

求最大值最小值?

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

 

转载地址:http://gglof.baihongyu.com/

你可能感兴趣的文章
剑指offer 25.二叉树中和为某一值的路径
查看>>
剑指offer 26. 数组中出现次数超过一半的数字
查看>>
剑指offer 27.二叉树的深度
查看>>
剑指offer 29.字符串的排列
查看>>
剑指offer 31.最小的k个树
查看>>
剑指offer 32.整数中1出现的次数
查看>>
剑指offer 33.第一个只出现一次的字符
查看>>
剑指offer 34.把数组排成最小的数
查看>>
剑指offer 35.数组中只出现一次的数字
查看>>
剑指offer 36.数字在排序数组中出现的次数
查看>>
剑指offer 37.数组中重复的数字
查看>>
剑指offer 38.丑数
查看>>
剑指offer 39.构建乘积数组
查看>>
剑指offer 57. 删除链表中重复的结点
查看>>
剑指offer 58. 链表中环的入口结点
查看>>
剑指offer 59. 把字符串转换成整数
查看>>
剑指offer 60. 不用加减乘除做加法
查看>>
剑指offer 61. 求1+2+3+...+n
查看>>
剑指offer 62. 孩子们的游戏
查看>>
剑指offer 63.扑克牌顺子
查看>>