いくつかの関数 funA(x)、funB(x)、funC(x)、funD(x)、funE(x)、funF(x) を書きました。今度は、特定のパラメーター str に基づいた要件があります。さまざまな計算を実装します。例えばstr='abc'の場合、x→funA(x)→funB(x)→funC(x)→y str'ace'の場合、x→funA(x)→funC( x )→funE(x)→y。
リーリーstr に基づいてケースを作成し、別の fun_XXX() にジャンプするスイッチを記述できることはわかっていますが、これは柔軟性がありません。最終的な目標は、呼び出し時に、異なる関数名を順番に記述した配列を作成し、x を入力し、配列の最初の要素に対応する関数を最後の関数まで実行し、最終的な結果 y を出力することです。
他に短縮する方法はありますか?それとも、funstr='abc' のように変数に基づいて同じ名前の関数を直接実行し、funstr(x) のようなものを実行すると関数 abc(x) が実行されるなど、自由な組み合わせを実現できますか?
js または php 関連の構文を使用できます。
いくつかの関数 funA(x)、funB(x)、funC(x)、funD(x)、funE(x)、funF(x) を書きました。今度は、特定のパラメーター str に基づいた要件があります。さまざまな計算を実装します。例えばstr='abc'の場合、x→funA(x)→funB(x)→funC(x)→y str'ace'の場合、x→funA(x)→funC( x )→funE(x)→y。
リーリーstr に基づいてケースを作成し、別の fun_XXX() にジャンプするスイッチを記述できることはわかっていますが、これは柔軟性がありません。最終的な目標は、呼び出し時に、異なる関数名を順番に記述した配列を作成し、x を入力し、配列の最初の要素に対応する関数を最後の関数まで実行し、最終的な結果 y を出力することです。
他に短縮する方法はありますか?それとも、funstr='abc' のように変数に基づいて同じ名前の関数を直接実行し、funstr(x) のようなものを実行すると関数 abc(x) が実行されるなど、自由な組み合わせを実現できますか?
js または php 関連の構文を使用できます。
例を挙げましょう。eval は失礼すぎます。 。 。お兄さん、会いに来てね
リーリー例えば、同様のアイデアは自由に使用できます
トマトが嫌いな@魚をベースに改良
電話はrun
函数的时候,都要生成四个函数和一个map,比较费开销。可以拎到run
外で。
reduce
代替forEach
最も単純な eval
面倒な {'abc': fabc}
アイデアは非常にシンプルです。php
和 node
サンプルコードを投稿します
php
バージョン
node
バージョン
定義された関数をすべてオブジェクトに入れ、戻り値を設定して呼び出します;
var ab={