你的位置:首页 > Java教程

[Java教程]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()方法一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=10496

更多内容可以参阅:http://www.softwhy.com/javascript/