將字符串內重複的字符替換爲")",不重複的字符替換爲"("數組
// 方法一:將字符串轉換爲數組,使用數組的splice方法來替換,最後將數組轉換爲字符串來輸出 function test(str) { var newStr = str.split(""); for(var i=0;i<newStr.length;i++){ var bol=false; if(newStr[i] != "(" && newStr[i] != ")"){ for(var j=i+1;j<newStr.length;j++){ if(newStr[i]==newStr[j]){ newStr.splice(i,1,")"); newStr.splice(j,1,")"); bol=true; } } if(!bol){ newStr.splice(i,1,"("); } } } console.log(newStr.join("")) }
// 方法二:直接使用字符串的replace()方法來替換字符串,可是須要將重複的字符串內容進行一個保存,而後再進行兩次替換 function test(str) { for(var i=0;i<str.length;i++){ var bol=false; let reStr = ""; if(str.charAt(i) != "(" && str.charAt(i) != ")"){ for(var j=i+1;j<str.length;j++){ if(str.charAt(i)==str.charAt(j)){ reStr = str.charAt(i); str=str.replace(reStr,")"); bol=true; } } if(!bol){ str=str.replace(str.charAt(i),"("); }else{ str=str.replace(reStr,")"); } } } console.log(str) }