2013-05-15 43 views
0
var str = 'Hello World' 
var replacements = {0: '4', 6: '77'}; 
magicalReplace(str, replacements); 
// result: 4ello 77orld 

您能幫我編寫可幫助解決問題的函數嗎? 最重要的是在同一時間替換它,因爲替換可能比單個字符更長。同時替換字符串中的特定字符

+2

無需「在同一時刻」 - 由遞減的位置順序編輯排序(在你的例子中'6'然後'0'),然後按照這個順序進行編輯。 – RichieHindle

回答

2

該段應做的工作,也佔無序鍵:

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/