关于Js数组去重复的处理方法!
1,创建返回的新数组
2,创建新的空对象
3,for循环时,每次取出的元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的属性,并赋值为1,存入到第2步建立的对象中。
1,创建返回的新数组
2,创建新的空对象
3,for循环时,每次取出的元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的属性,并赋值为1,存入到第2步建立的对象中。
说明:至于如何对比,就是每次从原数组中取出一个元素,然后到对象中去访问这个属性,如果能访问到值,则说明重复。
<script>
Array.prototype.toRepeat = function() {
var res = [];
var obj = {};
for(var i = 0; i < this.length; i++) {
if(!obj[this[i]]) {
res.push(this[i]);
obj[this[i]] = 1;
}
}
return res;
};
var arr = [112,112,34,'你好',112,112,34,'你好','str','str1',1,'1'];
alert(arr.toRepeat());
</script>