2

配列、未知の関数、数値の 3 つのパラメーターを持ち、配列を数値に還元する関数 reduce を定義するように依頼されました。

これは、関数を定義するように求められる前に与えられたものです

reduce([1, 2, 3], function(total, number) {

    return total + number;

}, 0); // should return 6

完全に正直に言うと、これが私に何を求めているのか、私には少しわかりません

少なくともいくつかのガイドラインIDを取得できれば感謝します

ここに私の試みがあります

var reduce = function(array, func, initial){ 

    function func(){
}

    for( var i = 0; i < array.length; i++){

        func(initial, array[i]);
    }
}
4

2 に答える 2

1

試す:

function reduce(list, f, acc) {
    return list.length ?
        reduce(list.slice(1), f, f(acc, list[0])) :
        acc;
}

単純。

于 2013-11-14T05:31:57.140 に答える
0

関数呼び出しのたびに再定義される合計変数を必ず作成する必要があります。あなたはとても親しかった。これを試してください:

var reduce = function(array, func, initial){
    var total = initial,
        arr_len = array.length;
    for(var i = 0; i < arr_len; i++){
        total = func(total, array[i]);
    }
};
于 2013-11-14T05:28:50.220 に答える