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

简单的封装一个方法

假设数组 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

 




posted @ 2019-06-06 17:34  7cc丶  阅读(7781)  评论(0编辑  收藏  举报