請寫出一個字符串轉換函數,接受兩個參數:
1.字符串 形如{a}ab-{b}cde{c}fff{d}{};
2.對象,形如{'a':'1','b':'2','d':'4'}
根據,對象的屬性進行規則替換,輸出結果爲1ab-2cdefff4;函數
根據樣例大概能夠猜到替換規則:對於字符串中被大括號"{}"包圍的字符串,若是在對象的屬性中能找到對應的規則,則按照規則進行替換;若是找不到,就替換爲空串。code
整個過程能夠大體分紅如下步驟:
1.查找須要出須要替換部分(被大括號包含的字符串)
2.對於須要替換的部分,查找是否有對應的替換規則,若是有完成替換
3.對於沒有替換規則的,替換爲空串對象
代碼以下:字符串
function strConverse(str,obj){ var strResult = str.replace(/(\{)(.*?)(\})/g,function(match,pos,orignalTest){ var matchContent=match.slice(1,match.length-1); if(obj.hasOwnProperty(matchContent)) return obj[matchContent]; else return ""; }); return strResult; }