javascript删除重复数组项方法与原理

  第二yabo亚博国际娱乐在线网导读:等等 所以 显然 简单的== 和===都是不合适的. 应该独立实现一个 equals 方法 做相等性判断... 要根据需求 设置规则   <script> array.prototype.del = function() { var a = {}, c = [], l = this.length; for (var i = 0; i < l; i++) { var b = this; var d = (typeof b) + b; if (a ==...
  正文:

arr[j]==i 您这里貌似 是指当数组元素 为number类型时的相等性判断...
但是往往我们可能要对不同类型做 相等性判断... 这个是实际应用时应该考虑的问题

1!=new number(1)的情况
null==undefined 的情况

0=="0" 的情况 等等

所以 显然 简单的== 和===都是不合适的.
应该独立实现一个 equals 方法 做相等性判断... 要根据需求 设置规则

 

<script>
array.prototype.del = function() {
var a = {}, c = [], l = this.length;
for (var i = 0; i < l; i++) {
var b = this[i];
var d = (typeof b) + b;
if (a[d] === undefined) {
c.push(b);
a[d] = 1;
}
}
return c;
}
alert([1, 1, 2, 3, 4, 5, 4, 3, 4, 4, 5, 5, 6, 7].del());
</script>

方法二

 

var arr = ["123","123","123","123","sfsdf","123","345","123","123","345","456","567","sdc"];
var str = [];
for(var i = 0,len = arr.length;i < len;i++){
! regexp(arr[i],"g").test(str.join(",")) && (str.push(arr[i]));
}
alert(str);

 方法三

 

var x=[1,1,3,4,5,3];
var y=[];
var tarray=function(i,arr){
var yap=false;
for(var j=0;j<arr.length;j++){
if(arr[j]==i){yap=true;break;};
}
if(!yap) arr.push(i);
};
for(var t=0;t<x.length;t++){
tarray(x[t],y);
}
alert(y.length);
alert(y.tostring());

 

javascript删除重复数组项方法与原理》由第二yabo亚博国际娱乐在线网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/JavaScript/25773.html


关于《javascript删除重复数组项方法与原理》文章的评论

站内搜索: 高级搜索

热门搜索:关键字 键盘  Windows PHP CPU style 系统 Google td tr IP function