2016-07-08 15 views
0

この関数を見ましたが、うまくいきますが、関数式については少し困惑しています。ここにコードがありますなぜこのjavascript関数には異なる引数がありますか

 mapForEach(arr, fn) { 
      var newArr = []; 
      for (var i = 0; i < arr.length; i++) { 
       newArr.push(fn(arr[i])) 

     } 
     return newArr; 
     } 

誰かがこの複雑なコードが実際にやっていることを誰にも説明できますか?

+0

**コードが何をしているのか?** => 'と同じVAR newArr = arr.map(関数(エル){ リターンFN(エル) ; }); '基本的には、この関数は配列内の各要素に対して' fn'を呼び出し、更新された配列を返します。 – Tushar

+0

この関数は、すべての要素を呼び出す関数の結果を含む新しい配列を返します。 –

答えて

1

は、あなたがvar array = [1, 2, 3, 5];を持っているし、その後var array2 = mapForEach(array, function(i) { return i * 2; }) array2が、その後[2, 4, 6, 10]が含まれます実行して言うことができます。

だから、それはあなたが

1

mapForEachが配列を列挙し、各要素に対して提供関数を呼び出す関数で各レコードを変更する機能を持つ新しい配列を返します。

例:

var a = [1, 2, 3]; 

console.log(mapForEach(a, (x) => x * 2)); 

は、(コンソールと出力)の値を持つ新しい配列を作成します。

[2, 4, 6]

関連する問題