Claudio Claudio - 2 months ago 20
Javascript Question

JavaScript Array#map: index argument

My question is about the

map
method of arrays in JavaScript.

You can pass it a function that takes a second argument, the index of the current element of the array being processed, but... to what purpose? What happens when you do it and what's the difference when you don't?

What would you use this feature for?

Answer

The index of the current item is always passed to the callback function, the only difference if you don't declare it in the function is that you can't access it by name.

Example:

[1,2,3].map(function(o, i){
    console.log(i);
    return 0;
});

[1,2,3].map(function(o){
    console.log(arguments[1]); // it's still there
    return 0;
});

Output:

0
1
2
0
1
2

Demo: http://jsfiddle.net/Guffa/k4x5vfzj/

Comments