javascript缺重代码

如果数组中只有字符串的话:
Js代码1
1.var s = ["a","b","a","c"];  
2.var arr = [], map = {}, n, i;  
3.for(i=0; i<s.length; i++){  
4.    n = s[i];  
5.    if(!map.hasOwnProperty(n)){  
6.        map[n] = true;  
7.        arr.push(n);  
8.    }  
9.}  
10.console.log(arr); 
Js代码2
1.var array=["a","b","c","a"];  
2.for(var i=0;i<array.length;i++){  
3.    for(var j=i+1;j<array.length;j++){  
4.       if(array[j]==array[i]) {
           array.splice(j,1)
           j--;
         }
5.    }  
6.}  
7.alert(array); 
Js代码3:
1.var array=[1,1,2,2,3,3];  
2.var newArry=[];  
3.for(var x in array){  
4. newArry[array[x]]="";  
5.}  
6.for(var y in newArry){  
7.alert(y);  
8.}
for in循环比较危险,它会枚举原型链上的属性:
1.Array.prototype.say="haha";  
2.var array=[new Object(),"1,2#<%^&*()+}[]{",2,2,3,3,4,4,6,6,5,5];  
3.var newArry=[];  
4.for(var x in array){  
5.        newArry[array[x]]="";  
6.}  
7.for(var y in newArry){  
8.    alert(y+" "+typeof y);  
9.} 

适合任何类型缺重:
1.var array=[2.3,2.3,"a","b","b",true,true,true,false,1,0,undefined,null];  
2.for(var i=0;i<array.length;i++){  
3.    for(var j=i+1;j<array.length;j++){  
4.       if(array[j]===array[i]) {  
5.           array.splice(j,1);  
6.           j--;  
7.         }  
8.         
9.    }  
10.}  
11.alert(array); 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值