私はいつも以下のようにJavaScriptのArray::mapに指定するcallback関数では第1引数しか利用していない。
[0,1,2].map(function(value) {
return value + 1;
})
//[1, 2, 3]
MDNの実装サンプルを見て他の引数の存在を知った。
callback(<配列の要素>, <要素のインデックス>, <配列>)になっている。配列>要素のインデックス>配列の要素>
[0,1,2].map(function(value, index, arr) {
console.log(value);
console.log(index);
console.log(arr);
})
//1
//0
//[1, 2, 3]
//2
//1
//[1, 2, 3]
//3
//2
//[1, 2, 3]