参考文章:https://blog.youkuaiyun.com/qq_41713692/article/details/80619292
数组去重
定义一个空数组,用来存放遍历过程中第一次出现的值;定义一个对象,用来比较是否重复。
Array.prototype.unique = function(){
var arr = [], obj ={}, len = this.length;
for(var i=0; i < len; i++){
if(!obj[this[i]]){
obj[this[i]] = 'a';
arr.push(this[i]);
}
}
return arr;
}
var arr = [1,1,3,55,6,6,8];
console.log(arr.unique()); //[1,3,55,6,8]
把数组里面的值作为对象里面的属性名,并赋值a;那么我们判断当前为是否在对象里面有值。
若有,就证明已经存在;若没有,就把当前位进行push到arr里面。
字符串去重
String.prototype.unique = function(){
var str = '', obj ={}, len = this.length;
for(var i=0; i < len; i++){
if(!obj[this[i]]){
obj[this[i]] = 'a';
str += this[i];
}
}
return str;
}
var str1 ='aavvffddgg';
console.log(str1.unique());