最近学习了关于数组的这块内容,记录下求一数组里面的最大值且打印出他的下标这个解题思路: 方法一 :设置一个值,将这个值与数组里面的值进行比较
//首先给定一个数组:
let arr = [12, 4213, 43, 53, 53];
//对数组进行遍历
let maxVal = arr[0]; //设置默认最大值为arr[0],这是为了保证这个值就在数组arr里面
let indexMax = 0; //什么最大值的默认下标
let minVal = arr[1];
let indexMin = 0;
for (let i = 0; i < arr.length; i++) {
if (maxVal < arr[i]) {
maxVal = arr[i]; //将maxVal与arr里面的每个数值做出判断,若maxVal < 某个值,则将这个值赋值给maxVaal,如此反复直到maxVal最大为止
indexMax = i; //将最大值的i赋值给index
} else if (minVal > arr[i]) {
minVal = arr[i];
console.log(minVal);
indexMin = i;
}
}
console.log(maxVal, indexMax, minVal, indexMin); //打印出结果
方法二:利用扩展运算符 ...
//首先还是给定个数组
let arr = [12, 4213, 43, 53, 53];
let maxVal = Math.max(...arr); //获取数组最大值
let minVal = Math.min(...arr); //获取数组最小值
//遍历数组arr,将刚刚获取的最大值和最小值与里面的数值作比较
let indexMax = 0; //定义最小值位于数组中的下标
let indexMin = 0; //定义最大值位于数组中的下标
for (let i = 0; i < arr.length; i++) {
maxVal == arr[i] ? indexMax = i : ''
minVal == arr[i] ? indexMin = i : ''
}
//打印结果
console.log(maxVal, indexMax, minVal, indexMin);
目前就想到这两个方法,后续有的话再增加。大家觉得这2个方法如何?评论区告诉我。