java排重_[Java教程]数组排重

[Java教程]数组排重

0 2014-08-19 22:06:16 1 function pass(arr){2 var result=arr.filter(function(item,i){3 return arr.indexOf(item)==i;4 })5 return result;6 }7 console.log(pass([0,1,2,1,3,5,2,2,2,'2','5']));//结果[0, 1, 2, 3, 5, "2", "5"]

利用数组的indexOf方法的特点,indexOf只要找到要查找项的索引后就会结束返回索引值,如果有两个相同的项,也只会返回第一项的索引。

所以,arr.indexOf(item)在对第二个出现的项执行时返回的索引和这一项的索引不相等,返回的是第一次出现的这个值的索引,这个值就不会返回到filter执行后得到的新数组中。

要得到一个数组项中值的所有索引可以用循环实现1 var a=[2,3,2,5,6,1,2,3],b=[]; 2 var i= 0,index=0; 3 while(i< a.length){ 4 var index=(a.indexOf(2,index)); 5 if(index===-1){ 6 break; 7 } 8 b.push(index); 9 index++;10 i++;11 }12 console.log(b);//结果[0,2,6]

本文网址:http://www.shaoqun.com/a/98726.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值