var str = 'Hello World'
var replacements = {0: '4', 6: '77'};
magicalReplace(str, replacements);
// result: 4ello 77orld


您能帮我写一个能解决问题的函数吗?
最重要的是要同时替换它,因为替换可能比单个字符长。

最佳答案

此代码段应该可以完成工作,并且还要考虑未排序的键:

String.prototype.magicalReplace = function(replacements) {
    var chars = this.split("");
    for(var key in replacements) {
        if(replacements.hasOwnProperty(key)) {
            chars[key] = replacements[key];
        }
    }

    return chars.join("");
}


工作演示:http://jsfiddle.net/HdCFj/

08-25 01:49