let arr=[1,2,2,3,1,4,4,8,8,8,8,5,5,6,6,7,7,8]
//第一次遍歷數組
for(var i=0;i<arr.length;i++){
//第二次遍歷數組,是第一遍歷數組下標的下一個數據
for(var j=i+1;j<arr.length;j++){
//判斷第一層遍歷數據和第二層遍歷的數據是否相同
if(arr[i]==arr[j]){
//如果數據相同則通過splice刪除一條相同的數據
arr.splice(i,1)
//i是第一層遍歷的下標,因為上一步刪除了一條數據,所以下標也需要減一,否則實際下標,要比數組中的數據更多
i--;
//j 也同樣需要和i一樣減一,保持遍歷依舊同步判斷
j--;
}
}
//去重完成以后,數組數據在控制台輸出
console.log(arr)
第一個for循環是拿出一條數據,和第二個for循環中的所有數據,進行對比。
但是為了防止下標相同的數據進行對比,所以第二個for循環要在第一個for循環數據下標的基礎上加一,這樣對比的數據就不會出現相同下標的數據。
