配列 - javascript object map




JavaScript Array#map:インデックス引数 (2)

私の質問はJavaScriptの配列のmapメソッドについてです。

2番目の引数、つまり処理されている配列の現在の要素のインデックスを取る関数を渡すことはできますが、目的は何ですか? あなたがそれをするとき何が起こり、そうしないときに何が違いますか?

あなたは何のためにこの機能を使いますか?


map関数の説明を次に示します。

arr.map(callback[, thisArg])

callback
新しいArrayの要素を生成する関数.3つの引数をとります。

currentValue
現在の要素が配列内で処理されています。

index
配列内で処理されている現在の要素のインデックスです。

array
配列マップが呼び出されました。

map関数は、引数としてコールバック関数をとります(これは、編集前の質問に元々記載されているように、引数としてのインデックスではありません)。 コールバック関数はパラメータとしてインデックスを持ちます。コールバックは自動的に呼び出されるため、インデックスは自分で指定しないでください。 現在の値だけが必要な場合は、他のパラメータを省略できます。


現在の項目のインデックスは常にコールバック関数に渡されますが、関数内で宣言しないと唯一の違いは名前でアクセスできないことです。

例:

[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;
});

出力:

0
1
2
0
1
2

デモ: http://jsfiddle.net/Guffa/k4x5vfzj/ : http://jsfiddle.net/Guffa/k4x5vfzj/





map