数组去重总结

var arr=[‘apple’, ‘strawberry’, ‘banana’, ‘pear’, ‘apple’, ‘orange’, ‘orange’, ‘strawberry’,1,3,6,3];

arr.filter(function(e,i,self){
return self.indexOf(e)==i;
})//["apple", "strawberry", "banana", "pear", "orange", 1, 3, 6]
(function unique1(){ 
var n = []; //一个新的临时数组
for(var i = 0; i < arr.length; i++){ 
if (n.indexOf(arr[i]) == -1) n.push(arr[i]); 
} 
return n; 
})(arr)
(function unique2(){
var n=[arr[0]];
for(var i=1;i<arr.length;i++){
if(arr.indexOf(arr[i])==i)n.push(arr[i]);
}
return n;
})(arr)
Array.prototype.unique2 = function(){
 this.sort(); //先排序
 var res = [this[0]];
 for(var i = 1; i < this.length; i++){
  if(this[i] !== res[res.length - 1]){
   res.push(this[i]);
  }
 }
 return res;
}
var arr = [1, 'a', 'a', 'b', 'd', 'e', 'e', 1, 0]
alert(arr.unique2());

新技能

var array=[1,2,3,4,5,2,3,2,3,"","","apple",2,"apple"];
function f(array){
return [...new Set(array)]
}
f(array)//[1, 2, 3, 4, 5, "", "apple"]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值