有很多方法
1、ES6去重
var string = 'aaaadfsdgsdd';
function uniqString(str) {
return Array.from(new Set(str.split(''))).join('');
}
uniqString(string); // adfsg
2、正则去重
var string = 'aaaadfsdgsdd';
function uniqStrimg(str) {
var oStr = str.split("").sort().join("");
var exp = oStr.match(/(.)\1+/g);
for(var i = 0;i<exp.length;i++){
let body = exp[i].substring(0,1);
oStr = oStr.replace(exp[i],body);
}
return oStr;
}
uniqString(string); // adfsg
3、search去重
var string = 'aaaadfsdgsdd';
function uniqString(str){
var newStr="";
for(var i = 0; i < str.length; i++){
if(newStr.search(str[i]) == -1)
newStr += str[i];
}
return newStr;
}
uniqString(string); // adfsg
4、普通for去重
var string = 'aaaadfsdgsdd';
function uniqString(str){
var newStr="", flag;
for(var i = 0; i < str.length; i++){
flag = 1;
for(var j = 0; j < newStr.length; j++){
if(str[i] == newStr[j]){
flag = 0;
break;
}
}
if(flag) newStr += str[i];
}
return newStr;
}
uniqString(string); // adfsg
5、indexOf / includes去重
var string = 'aaaadfsdgsdd';
function uniqString(str){
var newStr = "";
for(var i = 0; i < str.length; i++){
if(newStr.indexOf(str[i]) == -1){ // indexOf方法
if(!newStr.includes(str[i])){ // includes方法
newStr += str[i];
}
}
return newStr;
}
uniqString(string); // adfsg
6、对象去重
var string = 'aaaadfsdgsdd';
function uniqString(str){
var obj = {}, newStr = "";
for(var i = 0; i < str.length; i++){
if(!obj[str[i]]){
newStr += str[i];
obj[str[i]] = 1;
}
}
return newStr;
}
uniqString(string); // adfsg