数组去重需要注意的点

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

这是代码:

// 练习:数组去重,注意当删除一个相同元素时,后面元素向前递进一位;
// 这时要重复当次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]

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


猜你喜欢

转载自blog.csdn.net/zjy_android_blog/article/details/80928088