【发布时间】:2019-08-01 09:11:51
【问题描述】:
我试图弄清楚如何使用键值表替换多个对象值。
我一直在尝试从对常规字符串执行此操作的函数中学习,并使其适用于对象(特别是对象值)。我想也许有办法将这种 (https://stackoverflow.com/a/15604206/2458671) 函数与下面的 replaceValue 函数合并。
var settings = {
pushItems: {
"[make_up_policy_attributes][staff_allowed]": true,
"[make_up_policy_attributes][default_issued_plan_product_id]": "{RPPA}",
"[make_up_policy_attributes][issued_plan_product_expires]": true,
"[make_up_policy_attributes][issued_plan_product_duration_months]": 0,
"[make_up_policy_attributes][issued_plan_product_duration_weeks]": 0,
"[make_up_policy_attributes][issued_plan_product_duration_days]": 30
}
}
replaceValue(settings.pushItems, "{RPPA}", 12345 );
function replaceValue(obj, findvalue, replacewith) {
for (var key in obj) {
var value = obj[key];
if (value === findvalue) {
obj[key] = value.replace(findvalue, replacewith);
}
}
}
基本上我想使用一个对象 { searchForValue1: replaceWithValue1, searchForValue2: replaceWithValue2 } 所以如果在 settings.pushItems 对象中找到多个东西,我可以替换它们。
【问题讨论】:
标签: javascript object string-substitution