最小值算法如下:
- 将数组中第一个元素赋值给一个变量,把这个变量作为最小值;
- 开始遍历数组,从第二个元素开始依次和第一个元素进行比较;
- 如果当前的元素小于当前的最小值的话,就把当前的元素值赋值给最小值;
- 移动到下一个元素,继续对第三步操作;
- 当数组元素遍历结束时,这个变量存储的就是最小值;
代码如下:
// 查找数组中最小值 function arrayMin(arrs){ var min = arrs[0]; for(var i = 1, ilen = arrs.length; i < ilen; i+=1) { if(arrs[i] < min) { min = arrs[i]; } } return min; } // 代码测试 var rets = [2,4,5,6,7,9,10,15]; console.log(arrayMin(rets));//2
上面是对数组中的数值进行比较的,如果数组中的数字是字符串的话,先要把字符串转换成数字再进行比较即可,因为字符串比较的不是值,而是ASCII编码,比如2的ASCLL编码会大于15的ASCII编码,因为15的编码第一个数字是1,2的ASCII编码肯定大于1的;
求最大值的算法和上面类似:
- 将数组中第一个元素赋值给一个变量,把这个变量作为最大值;
- 开始遍历数组,从第二个元素开始依次和第一个元素进行比较;
- 如果当前的元素大于当前的最大值的话,就把当前的元素值赋值给最大值;
- 移动到下一个元素,继续对第三步操作;
- 当数组元素遍历结束时,这个变量存储的就是最小值;
代码如下:
// 在数组中查找最大值 function arrayMax(arrs) { var max = arrs[0]; for(var i = 1,ilen = arrs.length; i < ilen; i++) { if(arrs[i] > max) { max = arrs[i]; } } return max; } // 代码测试 var rets = [2,4,5,6,7,9,10,15]; console.log(arrayMax(rets));//15