Array.prototype.unique = function(){
var obj = {},
arr = [],
len = this.length;
for(var i = 0; i < len; i++){
if(!obj[this[i]]){
obj[this[i]] = '1';
arr.push(this[i]);
}
}
return arr;
}
实现过程
在原型链上编程
定义一个obj空对象,将要去重的数组中的值作为对象的属性名,并给此属性赋值。
循环取出数组中的每个值,判断在对象中有无此属性,没有则增加属性。
将对象的属性名放到一个空数组中,此数组为去重后数组。