underscore.js の各関数を使用して、リスト内の各項目の文字列置換を呼び出すだけの関数があります。(実際には一対のリスト):
//ベースオブジェクト バケット = { カウンター: ["stats.REPLACE.msg_delivered", "stats.REPLACE.delivery_failed"], タイマー: ["stats.timers.REPLACE.msg_delivery_timer.median", "stats.timers.REPLACE.msg_delivery_timer.mean", "stats.timers.REPLACE.msg_delivery_timer.std", "stats.timers.REPLACE.msg_delivery_timer.upper"] }; //問題の関数 _getNodeTargets = 関数 (ノード) { var ターゲット = バケット; _.each(targets.counters, function(bucket) { バケット = バケット.replace("REPLACE", ノード);}); _.each(targets.timers, function(bucket) { バケット = バケット.replace("REPLACE", ノード);}); ターゲットを返します。 }
each 関数に足を踏み入れると、文字列が置き換えられ、バケットに割り当てられていることがわかります。ただし、リターンをヒットすると、ターゲットオブジェクトは変更されず、各文字列に REPLACE が残っています。
ばかげたことをしていることは間違いありませんが、何らかの理由でそれを見ることができません。
前もって感謝します!