JavaScript JavaScript 查找数组中最大值与最小值

jonathon · 2022-04-10 22:59:02 · 热度: 14

最小值算法如下:

  1. 将数组中第一个元素赋值给一个变量,把这个变量作为最小值;
  2. 开始遍历数组,从第二个元素开始依次和第一个元素进行比较;
  3. 如果当前的元素小于当前的最小值的话,就把当前的元素值赋值给最小值;
  4. 移动到下一个元素,继续对第三步操作;
  5. 当数组元素遍历结束时,这个变量存储的就是最小值;

代码如下:

// 查找数组中最小值
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的;

求最大值的算法和上面类似:

  1. 将数组中第一个元素赋值给一个变量,把这个变量作为最大值;
  2. 开始遍历数组,从第二个元素开始依次和第一个元素进行比较;
  3. 如果当前的元素大于当前的最大值的话,就把当前的元素值赋值给最大值;
  4. 移动到下一个元素,继续对第三步操作;
  5. 当数组元素遍历结束时,这个变量存储的就是最小值;

代码如下:

// 在数组中查找最大值
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

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册