JS去重案例

今天日记:
学到JS要做数组去重,将旧的数组遍历,查询新数组的索引是不是有元素,用等于-1来判断此元素不在旧数组,于是写代码如下。
 function a(arr) {
            var n = [];
            for (var k in arr) {
                if (n.indexOf(k) == -1) {
                    n.push(k);
                }
            }
            return n;
        }
        console.log(a([1, 4, 2, 3, 2, 5, 3, 4, 3]));
但是结果出来,数组却是 [0,1,2,3,4,5,6,7,8]
然后思考想起来  for (var k in arr) 由于之前python的思维,理所应当是直接遍历元素。对象遍历用这种方法,遍历输出的是属性,如果是属性值便需要写成obj[k]。
以此类推,JS中数组这种方法遍历是不是遍历的也是索引值?那么更改为:
 function a(arr) {
            var n = [];
            for (var k in arr) {
                if (n.indexOf(arr[k]) == -1) {
                    n.push(arr[k]);
                }
            }
            return n;
        }
        console.log(a([1, 4, 2, 3, 2, 5, 3, 4, 3]));
结果为[1,4,2,3,5] 成功去重 且比另一种for (var i=0;i<arr.length;i++) 写法要便捷一点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值