帮一个人修改一下代码,发现了去重需要注意的一个小知识点。
这是代码:
// 练习:数组去重,注意当删除一个相同元素时,后面元素向前递进一位;
// 这时要重复当次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]
希望刚刚转行前端的社会人士,或者是刚开始学习前端的小学弟能多注意,在一个项目代码出来之后不要急着交付,先自己测试一下。至少排除一些低级错误,不要让别人误解你的水平,同时也降低别人对你的印象。