一般去重是通过遍历数组然后判断下标的方法去重,可以实现类似abacryutr这种字符串去重。
var str = "335667";
console.log(str.replace(/(.)(\1)+/g,'$2')); //3567
上面的方法仅仅适用于两个重复的元素是紧挨在一起的。类似于这样就不适用了(353676)。
所以为了去重,可以先将数组进行排序。
var array = ['s','y','f','e','r','o','y','s','g','n','f','d','r'];
function ss(a,b){
if(a>b){
return 1;
}else{
return -1;
}
}
array.sort(ss);
var rr = array.toString().replace(/,/g,'');
console.log(rr.replace(/(.)(\1)+/g,'$2')); //defgnorsy