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 が残っています。
ばかげたことをしていることは間違いありませんが、何らかの理由でそれを見ることができません。
前もって感謝します!