数组去重需要注意的点

帮一个人修改一下代码,发现了去重需要注意的一个小知识点。

这是代码:

// 练习:数组去重,注意当删除一个相同元素时,后面元素向前递进一位;
// 这时要重复当次j循环,所以j需要减1,j++之后就是j当次的循环
let arr = [1,1,1,1,2,3,3,3,3,2,8,5,6,1,5,8];
for(let i=0,v;v=arr[i];i++){
    for(let j=i+1,u;u=arr[j];j++){
	if(v===u){
            arr.splice(j,1);
	    //j=j-1;
	}
    }
}
console.log(arr);//  [1, 1, 2, 3, 3, 8, 5, 6]

输出的结果和我们想要的,当删除一个相同元素时,后面元素向前递进一位;

j=j-1;

在if判断中添加上面这句代码,结果就完全不一样了

[1, 2, 3, 8, 5, 6]

希望刚刚转行前端的社会人士,或者是刚开始学习前端的小学弟能多注意,在一个项目代码出来之后不要急着交付,先自己测试一下。至少排除一些低级错误,不要让别人误解你的水平,同时也降低别人对你的印象。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值