js---查找数组中的最大值(最小值),及相应的下标

文章随笔,转自:https://www.cnblogs.com/jny1990/p/10984614.html

(1)获取数组最大值(最小值)

//获取最大值
function getMax(arr) {
    //假设最大值max 为arr[0]
    var max = arr[0];
    //遍历对比
    for (var i = 0; i < arr.length; i++) {
        //若max小于当前项 说明不是最大值 将当前项的值赋予max 
        // 继续遍历对比找到最大的值
        if (max < arr[i]) {
            max = arr[i];
        }
    }
    return max;
}
//获取最小值
function getMin(arr) {
    var min = arr[0];
    for (var i = 0; i < arr.length; i++) {
        if (min > arr[i]) {
            min = arr[i];
        }
    }

    return min;
}

(2)获取数组最大值(最小值)的下标

//获取最大值的下标
function getMaxIndex(arr) {
    var max = arr[0];
    //声明了个变量 保存下标值
    var index = 0;
    for (var i = 0; i < arr.length; i++) {
        if (max < arr[i]) {
            max = arr[i];
            index = i;
        }
    }
    return index;
}
//获取最小值的下标
function getMinIndex(arr) {
    var min = arr[0];
    //声明了个变量 保存下标值
    var index = 0;
    for (var i = 0; i < arr.length; i++) {
        if (min > arr[i]) {
            min = arr[i];
            index = i;
        }
    }
    return index;
}
注:获取数组最大值(最小值)的下标时,当数组中最大值(最小值)有重复项时,返回的index值为数组中第一个最大值(最小值)的下标。
例如:
var arr = [66,3,66,66,3];
//打印结果
console.log(getMax(arr));       //  66
console.log(getMaxIndex(arr));  //  0
console.log(getMin(arr));       //  3 
console.log(getMinIndex(arr));  //  1
原文地址:https://www.cnblogs.com/snowbxb/p/12418657.html