将字符串内重复的字符替换为")",不重复的字符替换为"("数组
// 方法一:将字符串转换为数组,使用数组的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) }