zoukankan      html  css  js  c++  java
  • 查找数组中的最大值(最小值)及相对应的下标

    简单的封装一个方法

    假设数组 arr 中的最大值max或最小值min 为arr[0], 通过max或min与数组 arr 的值进行比较 ,得到想要的结果

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

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

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

     //获取最大值的下标
    1
    function getMaxIndex(arr) { 2 var max = arr[0]; 3 //声明了个变量 保存下标值 4 var index = 0; 5 for (var i = 0; i < arr.length; i++) { 6 if (max < arr[i]) { 7 max = arr[i]; 8 index = i; 9 } 10 } 11 return index; 12 }
    //获取最小值的下标
    1
    function getMinIndex(arr) { 2 var min = arr[0]; 3 //声明了个变量 保存下标值 4 var index = 0; 5 for (var i = 0; i < arr.length; i++) { 6 if (min > arr[i]) { 7 min = arr[i]; 8 index = i; 9 } 10 } 11 return index; 12 }
    注:获取数组最大值(最小值)的下标时,当数组中最大值(最小值)有重复项时,返回的index值为数组中第一个最大值(最小值)的下标

    举个栗子:
    1 var arr = [66,3,66,66,3];
    2 //打印结果
    3 console.log(getMax(arr));       //  66
    4 console.log(getMaxIndex(arr));  //  0
    5 console.log(getMin(arr));       //  3 
    6 console.log(getMinIndex(arr));  //  1



  • 相关阅读:
    oldboy_09_03day_test1
    oldboy_09_03day
    java消息队列
    es6语法([...arr], set/map数据结构,数组扩展,箭头函数等)
    Angular 2 Expression Changed After It Has Been Checked Exception
    jQuery之Deferred对象详解
    js面向对象:Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
    Angular 4.x 动态创建组件
    JS中this的四种用法
    typescript主键自增长
  • 原文地址:https://www.cnblogs.com/jny1990/p/10984614.html
Copyright © 2011-2022 走看看