0

開発者ガイドでは、このような最適化のための範囲を受け入れるように関数を記述することを提案:最適化カスタム関数Googleアプリの範囲を受け入れるように

function DOUBLE(input) { 
    if (input.map) {   // Test whether input is an array. 
    return input.map(DOUBLE); // Recurse over array if so. 
    } else { 
    return input * 2; 
    } 
} 

私はあなたが複数の引数を持つことをだろうかだろうか? 例えば

function DOUBLEandADD(doubleThis, addThis){ 
    return (doubleThis * 2) + addThis; 
} 

一度に、どのようにあなたが範囲を反復処理するか、両方をチェックしますか?

これはおそらく何か?

function DOUBLEandADD(doubleThis, addThis) { 
    if (doubleThis.map && addThis.map){ 
     var d = Array.from(doubleThis.values()); 
     var a = Array.from(addThis.values()); 

     for (var i = 0; i < d.length(); i++){ 
      return DOUBLEandADD(d[i],a[i]); 
     } 
    } else { 
     return (doubleThis * 2) + addThis; 
    } 
} 

答えて

0

map関数を無名関数にラップし、追加パラメータを渡します。

function DOUBLEandADD(input,addend) { 
    if (input.map) {   
    return input.map(function(i){return DOUBLEandADD(i,addend)}); 
    } else { 
    return (input * 2) + addend; 
    } 
} 
+0

私が正しく理解するならば、加数はここでは定数ですが、両方の引数が範囲になるようにしてください。 – BNY

+0

2つの範囲を使用することは、機能の特定の必要性に非常に慣れています。単一の作業ソリューションですべてのケースをカバーするわけではありません。現在のところ、質問は広すぎて答えられません。あなたの質問に集中してください。 –

関連する問題