删除Array重复元素的方法
删除Array重复元素的方法:
像其它的语言一般都有标准方法,可Javascript天生就没有标准的方法,我们可以能过Prototype这个属性给Array添加一个我们自己的方法,使用的时候可以像使用toString() valueOf() ....等等一样,很实用,其实大家还可以添加其它的方法,比较Sting的去除首尾空格,去除HTML标签,我的Javascript库里有,喜欢的朋友可以去看一下。好了,言归正传:
<script type="text/javascript"> Array.prototype.del=function(){ var n=[]; if(this.length<1){return this} for(var i=0; i<this.length; i++){ var st=false for(var j=0; j<n.length; j++){ if(this[i].toString() == n[j].toString()){ st=true } } if(!st){ n.push(this[i]); } } return n; } var m=[0,2,2,2,2,3,3,3,5,5,6,6,7,7,8] alert(m+"\n"+m.del()) </script>
试试吧,很简单的。
这里需要注意一个问题,大家看看下面的:
varm=[0,0,0,0,1,1,5,5,5,5,"0"]
alert(m.del)//output0,1,5
0跟“0”是不一样的,一个是Number,一个是String
如果想要输出//0,1,5,0
上面的就要必动一下:<script type="text/javascript"> Array.prototype.del=function(){ var n=[]; if(this.length<1){return this} for(var i=0; i<this.length; i++){ var st=false for(var j=0; j<n.length; j++){ if(this[i].toString() === n[j].toString()){ st=true } } if(!st){ n.push(this[i]); } } return n; } var m=[0,0,0,0,1,1,5,5,5,5,"0"] alert(m.del()) // output 0,1,5,0 </script>
这样就是正确的。
相关推荐
wikiwater 2020-10-27
jczwilliam 2020-08-16
littleFatty 2020-08-16
Aveiox 2020-06-23
阿斌Elements 2020-06-11
zrtlin 2020-11-09
xuebingnan 2020-11-05
heheeheh 2020-10-19
Crazyshark 2020-09-15
softwear 2020-08-21
ZGCdemo 2020-08-16
idning 2020-08-03
jinxiutong 2020-07-26
lanzhusiyu 2020-07-19
Skyline 2020-07-04
xiaofanguan 2020-06-25