2016-09-05 7 views
-1

次のコードで新しい配列には、以下のexeptionを投げ返すために与えられた関数に配列の各値の地図?JavaScriptの

map = function (someList, someFunction){ 
 
    var result =[]; 
 
    for (x = 0; x < someList.length; x++){ 
 
     result.push(someFunction(someList[x])()); 
 
    } 
 
    return result; 
 
}; 
 

 
map([1,2,3,4], function(num){ 
 
    return num * 10; 
 
});

+0

ありがとうございました!私はsomeFunction "()"の後に余分なカッコを書くだけです。 – mapageKA21

答えて

1

問題は、この余分な括弧は冗長で、このラインで

result.push(someFunction(someList[x])()); 
            ^^ 

です。 someFunction(someList[x])と言って既に関数someFunctionを呼び出しています。これらの余分な括弧を追加することによって、基本的に戻り値someFunction(someList[x])を呼び出そうとしています。これは関数ではなく数値です。