android 数组排重方法,js数组去重方法集合 - osc_779ncf3o的个人空间 - OSCHINA - 中文开源技术交流社区...

//第一种方法,新建一个空数组,将原来的数组循环逐个与新数组的成员做比较,如果新数组没有该元素就push进来

var arr = ['a', 1, 1, 1, 2, 4, 4, 'b', 'c', 'a'];

var newArr = [];

var len = arr.length;

for (i = 0; i < len; i++) {

var flag = false;

for (var member of newArr) {

if (member === arr[i]) {

flag = true;

break

}

}

if (!flag) {

newArr.push(arr[i])

}

}

console.log('1111111111111111', newArr)

//第二种,两层循环,相互比较,如果相同就删除

var arr2 = [1, 2, 3, 'a', 'b', 3, 2, 'c', 'a'];

var len2 = arr2.length;

while (len2-- > 0) {

for (let i = 0; i < len2; i++) {

if(arr2[i]==arr2[len2]){

arr2.splice(i,1)

break

}

}

}

console.log('2222222222222',arr2)

//3.借助indexOf()方法判断此元素在该数组中首次出现的位置下标与循环的下标是否相等

var arr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];

function rep(arr) {

for (var i = 0; i < arr.length; i++) {

if (arr.indexOf(arr[i]) != i) {

arr.splice(i,1);//删除数组元素后数组长度减1后面的元素前移

i--;//数组下标回退

}

}

return arr;

}

var a1 = rep(arr);

console.log(a1);

//4.借助indexOf()和一个空数组

var arr3=['f','c',1,2,3,4,4,4,'v','f'];

var newArr3=[];

for(i=0;i

if(newArr3.indexOf(arr3[i])<0){

newArr3.push(arr3[i])

}

}

console.log('33333333333333',newArr3)

//5.filter方法

var arr4 = [1, 2, 3, 1,2,5,6]

var arr4temp=arr4.filter(function(ele,index,self){

return self.indexOf(ele)===index;

})

console.log(arr4temp)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值