js删除数组中重复的元素

js删除数组中重复的元素:
在某些应用中,数组中重复的元素就是多余的,所以需要清除重复的元素,以避免对操作带来的影响,下面就通过代码实例介绍一下如何实现此操作,代码实例如下:

var arr=[1,2,4,5,6,2,4]; 
Array.prototype.deleteRepeat=function(){ 
  var newArray=[]; 
  var obj={}; 
  for(var i=0;i<this.length;i++) 
  { 
    if(typeof(obj[this[i]])=="undefined") 
    { 
      obj[this[i]]=""; 
    } 
  } 
  for(var y in obj) 
  { 
    newArray.push(y); 
  } 
  return newArray; 
} 
console.log(arr);

以上代码实现了我们的要求,当然删除数组中重复元素的方法有多种,这里就介绍这么一种,下面介绍一下实现过程:
一.实现原理:
原理比较巧妙,通过for循环将数组的元素只作为对象直接量的属性,并将属性值设置为"",同时判断是否typeof(obj[this])=="undefined",如果等于空说明对象直接量中没有此属性,那么就为对象对象直接量添加该属性(属性是数组元素值),那么当for循环执行完毕,那么对象直接量的属性就是数组中所有非重复元素,最后通过for in语句将对象属性添加到新数组中去即可。
二.相关阅读:
1.对象直接量可以参阅js对象直接量简单介绍一章节。 
2.typeof()可以参阅javascript的typeof 运算符一章节。 
3.push()函数可以参阅javascript的Array对象的push()方法一章节。  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。