私はこれを頭のてっぺんからやっているだけですが、これはうまくいくはずです。
var new_str = str;
for (var key in arr) {
if (!arr.hasOwnProperty(key)) {
continue;
}
new_str = new_str.replace(key, arr[key]);
}
番号のすべての出現箇所を置き換えたい場合は、正規表現をミックスに組み込む必要があります。
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]);
}
arr
また、明らかにオブジェクトである場合は配列であることを意味するため、以外の名前を選択します。また、for-in
プロトタイプのリークなどの問題があるため、配列ではなくオブジェクトでのみループを使用するようにしてください。
jQueryを使用してこれを行うこともできますが、おそらくやり過ぎです。
var new_str = str;
$.each(arr, function (key, value) {
new_str = new_str.replace(key, value);
});