JavaScript 查找数组中最大值与最小值
最小值算法如下:
- 将数组中第一个元素赋值给一个变量,把这个变量作为最小值;
- 开始遍历数组,从第二个元素开始依次和第一个元素进行比较;
- 如果当前的元素小于当前的最小值的话,就把当前的元素值赋值给最小值;
- 移动到下一个元素,继续对第三步操作;
- 当数组元素遍历结束时,这个变量存储的就是最小值;
代码如下:
// 查找数组中最小值
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