.map with index javascript

Understanding .map with Index in JavaScript

As a web developer, you must have come across the need to iterate over an array and perform some operations on each item. One way of doing this is by using a for loop. However, there is a more elegant way of achieving this using the .map() method in JavaScript.

The .map() method creates a new array with the results of calling a provided function on every element in the calling array. The best part is that it does not modify the original array.

Using .map() with Index in JavaScript

When using .map(), you can also pass an optional second argument that represents the index position of the current element being processed. The syntax for using .map() with index in JavaScript is as follows:

array.map(function(currentValue, index, arr), thisValue)

The first argument is a function that defines the operation to be performed on each element. The second argument, which is optional, is used to specify the value of "this" inside that function.

Let's say we have an array of numbers that we want to double and display on the console:

const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(function(number, index) {
  console.log(`Index ${index}: ${number * 2}`);

The output on the console will be:

Index 0: 2
Index 1: 4
Index 2: 6
Index 3: 8
Index 4: 10

As you can see, the .map() method has iterated over each element in the "numbers" array and doubled it. The index of each element is also displayed on the console because we passed it as the second argument to the function.

You can also use arrow functions to achieve the same result:

const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map((number, index) => {
  console.log(`Index ${index}: ${number * 2}`);

With arrow functions, the syntax becomes more concise and easier to read.


The .map() method is a powerful tool in JavaScript that allows you to iterate over an array and perform operations on each element. By passing the optional second argument, you can also access the index of each element in the array.

Remember that the .map() method returns a new array, so if you want to modify the original array, you will have to do it separately.

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]