本文给大家汇总了一下使用 javascript 实现查找数组中最大最小值的一些方法,非常的简单实用,有需要的小伙伴可以来参考下。
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
方法一(使用递归函数):
- var arr = [9,8,55,66,49,68,109,55,33,6,2,1];
- var max = arr[0];
- function findMax( i ){
- if( i == arr.length ) return max;
- if( max < arr[i] ) max = arr[i];
- findMax(i+1);
- }
- findMax(1);
- console.log(max);
方法二(使用 for 循环遍历):
- var arr = [9,8,55,66,49,68,109,55,33,6,2,1];
- var max = arr[0];
- for(var i = 1; i < arr.length; i++){
- if( max < arr[i] ){
- max = arr[i];
- }
- }
- console.log(max);
方法三(使用 apply 将数组传入 max 方法中直接返回):
- Math.max.apply(null,[9,8,55,66,49,68,109,55,33,6,2,1])
备注:除此之外,还有很多数组排序方式,都可以在排序后,根据新数组索引值获取 最大 / 最小 值。
- var a=[1,2,3,5];
- alert(Math.max.apply(null, a));//最大值
- alert(Math.min.apply(null, a));//最小值
多维数组可以这么修改:
- var a=[1,2,3,[5,6],[1,4,8]];
- var ta=a.join(",").split(",");//转化为一维数组
- alert(Math.max.apply(null,ta));//最大值
- alert(Math.min.apply(null,ta));//最小值
来源: http://www.phperz.com/article/17/0223/267174.html