Sometimes, we want to return the index of the greatest value in a JavaScript array.

In this article, we’ll look at how to return the index of the greater value in a JavaScript array.

### Use the Array.prototype.indexOf and Math.max Methods

We can find the index of the greatest value in a JavaScript array with the `Math.max`

and the array’s `indexOf`

method.

For instance, we can write:

```
const arr = [0, 21, 22, 7];
const index = arr.indexOf(Math.max(...arr));
console.log(index)
```

We call `Math.max`

with the elements of `arr`

in as arguments by spreading `arr`

into the `Math.max`

method.

This returns the greatest element in `arr`

.

And then we can call `arr.indexOf`

on the greatest element of `arr`

.

And so `index`

is 2, which is the index of value 22 in `arr`

.

### Use the Array.prototype.reduce Method

Another way to get the index of the greatest element in an array is to use the JavaScript array’s `reduce`

method.

To use it, we write:

```
const arr = [0, 21, 22, 7];
const index = arr.reduce((iMax, x, i, arr) => x > arr[iMax] ? i : iMax, 0);
console.log(index)
```

We call `reduce`

on `arr`

with a callback that has the `iMax`

parameter, which is the index of the greatest value of `arr`

so far.

`x`

is the entry of `arr`

being iterated through.

`i`

is the index of `x`

.

`arr`

is the `arr`

array itself.

We return the index of the greatest element by checking if `x`

is bigger than the current element being recorded as the largest so bar, which is `arr[iMax]`

.

If `x`

is bigger than `arr[iMax]`

, we return `i`

.

Otherwise, we return `iMax`

.

0 is the initial value of the index of the greatest element of `arr`

.

And so `index`

is 2 as we saw in the previous example.

### Conclusion

We can use the `Math.max`

and `Array.prototype.indexOf`

or `Array.prototype.reduce`

methods to get the index of the greatest elements in a JavaScript array.