JavaScriptのMap関数は、配列を変えることができる。

まず任意の配列をつくる。配列には変数名をつける。その変数名にmapとつけるのが、map関数をつかうさいのルールとなっている。たとえば、こんなぐあいに。

arr = [1,2,3,4,5]
arr2 = arr.map

そのうえで、()内に関数をつけてゆく。こんなかんじ。

arr = [1,2,3,4,5]
arr2 = arr.map(function(value){
          return value*value
 };
>[1,4,9,16,25]

valueは任意に付けた引数の名前だけれど、このvalueにとまどってしまうんだわ。

そもそも、一般的な関数と引数の理解に、だいぶ時間が、かかったのよネ。わたし。

あ、そっか、とおもったのは、遊んでいるうちに作った以下のカンタンな関数による。

   function add(a,b){
   return c= a+b;
};

add(3,7)
 >10

この関数と、Map関数をくらべてみよう。

arr = [1,2,3,4,5]
arr2 = arr.map(function(value){
          return value*value
 };
>[1,4,9,16,25]

オレ的な基本形な関数は、add(3,7)といったふうに引数を入れて10の戻り値を得ている。

それに対してMap関数は、add(3、7)のような引数を入れないまま、[1,4,9,16,25]の戻り値を得ている。このへんの動きが悩ましい。

ここからは仮説ネ。Map関数は、関数というから分かりにくいのであって、じつはオブジェクトなのではないか。こういう感じである。

arrはオブジェクト、mapはプロパティ(あるいはメソッドかな?)、そしておもしろいのが、値を入れる()内に関数を入れることができる点なんだ。そんなに、まちがってはいないとおもうよー。