JavaScript 如何获取数组中最大值的索引

JavaScript 如何获取数组中最大值的索引

在本文中,我们将看到如何使用JavaScript返回数组中最大值的索引。使用JavaScript返回数组中最大值的索引,将使用以下方法:

  • 使用for循环
  • 使用reduce()方法

下面是一些返回数组中最大值索引的示例:

示例: 数组中最大的值是8,在索引3处。

Input: arr = [2, 5, 1, 8, 3]; 
Output: 3

例子: 数组中最大的值是-1,位于索引2处。

Input: arr =[-2, -5, -1, -8, -3];
Output: 2

使用for循环: 我们可以使用简单的for循环来遍历数组,并跟踪到目前为止最大值的索引。

方法:

  • 我们声明一个函数,以数组arr作为参数。
  • 我们初始化一个名为maxIndex的变量,其值为0,用于保存最大值的索引。
  • 我们使用for循环来遍历数组,从索引1开始(我们已经将maxIndex设置为0)。
  • 对于数组中的每个元素,我们检查它是否大于当前最大值(即arr[maxIndex]处的值)。
  • 如果它大于最大值,我们更新maxIndex变量为当前索引i。
  • 在循环结束后,我们返回maxIndex。

示例1: 在这个例子中,数组中最大的值是8,位于索引3处。

Javascript

function indexOfMax(arr) { 
    let maxIndex = 0; 
    for (let i = 1; i < arr.length; i++) { 
        if (arr[i] > arr[maxIndex]) { 
            maxIndex = i; 
        } 
    } 
    return maxIndex; 
} 
  
let arr = [2, 5, 1, 8, 3]; 
console.log(indexOfMax(arr));

输出:

3

示例2: 在这个示例中,数组中最大的值是-1,它位于索引2处。

JavaScript

function indexOfMax(arr) { 
    let maxIndex = 0; 
    for (let i = 1; i < arr.length; i++) { 
        if (arr[i] > arr[maxIndex]) { 
            maxIndex = i; 
        } 
    } 
    return maxIndex; 
} 
  
let arr = [-2, -5, -1, -8, -3]; 
console.log(indexOfMax(arr)); 

输出:

2

**使用 **reduce()方法:我们可以使用reduce()方法在数组中找到最大值的索引。

方法:

  • 我们声明一个函数,它以一个数组arr作为参数。
  • 我们在数组arr上调用reduce()方法。
  • reduce()方法接受一个带有四个参数的回调函数:
  • maxIndex是迄今为止所见到的当前最大值的索引(初始化为0)。
  • elem是正在处理的当前元素。
  • i是正在处理的当前元素的索引。
  • arr是正在处理的原始数组。
  • 在回调函数中,我们检查当前元素elem是否大于当前最大值(arr[maxIndex])。
  • 如果它大于,则返回当前索引i,这成为新的maxIndex。
  • 如果它不大于,则返回变量maxIndex。
  • 在函数调用后,我们返回最终的maxIndex。

    示例3: 在这个例子中,数组中最大的值是8,它位于索引3。

Javascript

function indexOfMax(arr) { 
    return arr.reduce((maxIndex, elem, i, arr) =>  
        elem > arr[maxIndex] ? i : maxIndex, 0); 
} 
  
let arr = [2, 5, 1, 8, 3]; 
console.log(indexOfMax(arr));

输出:

3 

示例 4: 在该示例中,数组中最大的值是-1,它位于索引2处。

JavaScript

function indexOfMax(arr) { 
    return arr.reduce((maxIndex, elem, i, arr) =>  
        elem > arr[maxIndex] ? i : maxIndex, 0); 
}  
let arr = [-2, -5, -1, -8, -3]; 
console.log(indexOfMax(arr));

输出:

2

请确保在使用此产品前阅读并理解正确的使用方式和注意事项

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程