function deleteEle(newArr){
for (var i=newArr.length-1; i>=0; i--){
var targetNode = newArr[i];
for (var j=0; j<i; j++){
if(targetNode == newArr[j]){
console.log(newArr[i],'删掉的')
console.log(newArr[j],'暂时保留的');
newArr.splice(i,1);
break;
}
}
}
return newArr;
}
var arr = ["a","b","c","c","ab","d","ab","d","c"];
deleteEle(arr);
代码有3处需要注意:
1.第一次遍历是倒序遍历
2.第二次遍历时的遍历长度 j<i
3.找到相同的其中一个就删除后面的,暂时保留找到的那个,break跳出循环