我想知道是否有人可以帮我一个简单的解决方案,将javascript字符串中的每个整数转换为一个键:值对数组中的相应键.例如,如果我有:
var arr = {'3':'value_three', '6':'value_six', '234':'other_value'};
var str = 'I want value 3 here and value 234 here';
Run Code Online (Sandbox Code Playgroud)
我会将输出解释为:
new_str = 'I want value_three here and value other_value here'
Run Code Online (Sandbox Code Playgroud)
对不起,这是我的第一篇文章,所以我希望这是有道理的,我正在使用javascript和jquery(最新版本).任何帮助都会非常感激.
我只是在我的头顶做这个,但这应该工作.
var new_str = str;
for (var key in arr) {
if (!arr.hasOwnProperty(key)) {
continue;
}
new_str = new_str.replace(key, arr[key]);
}
Run Code Online (Sandbox Code Playgroud)
如果您希望替换所有出现的数字,则需要将Regex合并到混合中:
var new_str = str;
for (var key in arr) {
if (!arr.hasOwnProperty(key)) {
continue;
}
new_str = new_str.replace(new RegExp(key, "g"), arr[key]);
}
Run Code Online (Sandbox Code Playgroud)
另外,我会选择另一个名称arr,因为这意味着当它显然是一个对象时它是一个数组.此外,请确保仅for-in在对象上使用循环,而不是阵列,因为原型泄漏等问题.
你也可以用jQuery做到这一点,但它可能有点过分:
var new_str = str;
$.each(arr, function (key, value) {
new_str = new_str.replace(key, value);
});
Run Code Online (Sandbox Code Playgroud)