概要
Array.prototype.map()
はコールバックを引数にとり、配列の要素やインデックスなどを順次取り出して処理した結果を配列として返す。
具体的には、元の配列の0~length−1番目までの各要素についてコールバックで処理した結果が新しい配列の0~length−1番目の要素として設定され、返される。
書式
new_Array = Array.map((value[, index[, array]]) => {})
value
Array
から順次取り出された要素の値index
Array
から順次取り出された要素のインデックスarray
- 元の配列
Array
全体が要素ごとに参照できる new_Array
- コールバックによって各要素に対して処理された結果の配列
実行例
1つ目は1つの引数として要素の内容が得られ、それらを2倍した結果を要素とする配列を返している。
2つ目は2つの引数に要素の内容とインデックスが得られ、それらを使った文字列を要素とした配列を返している。
3つ目は3つの引数の3つ目だけを返しているが、すべての要素において元の配列全体が参照できることを示している。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
array = [0, 1, 2, 3, 4]; console.log( array.map(val => val * 2) ); // [0, 2, 4, 6, 8] console.log( array.map((val, idx) => 'array[' + idx + ']=' + val) ); // ["array[0]=0", "array[1]=1", "array[2]=2", "array[3]=3", "array[4]=4"] console.log( array.map((val, idx, ary) => ary ) ); // [Array(5), Array(5), Array(5), Array(5), Array(5)] // 0: (5) [0, 1, 2, 3, 4] // 1: (5) [0, 1, 2, 3, 4] // 2: (5) [0, 1, 2, 3, 4] // 3: (5) [0, 1, 2, 3, 4] // 4: (5) [0, 1, 2, 3, 4] |