我有一个函数,它使用 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) { bucket = bucket.replace("REPLACE", node);}); _.each(targets.timers, function(bucket) { bucket = bucket.replace("REPLACE", node);}); 返回目标; }
我可以进入每个函数,看到字符串被替换并分配回存储桶。但是,当我点击返回时,目标对象没有改变,每个字符串中仍然存在 REPLACE。
我毫不怀疑我在做一些愚蠢的事情,但无论出于何种原因,我都看不到它。
提前致谢!