【JavaScript】 陣列中去掉重複數字
阿新 • • 發佈:2018-12-23
JavaScript中陣列出現重複數字該如何刪除呢?請看下面程式碼(註釋很詳細),為了更好地理解我畫了個圖:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>問題:陣列中有重複數字怎麼去掉?</title>
<script type="text/javascript">
//定義一個長度為9的陣列
var a=[1,3,1,1,2,4,3,5,5];
console.log(a);
//該迴圈遍歷了a陣列的元素
for(var i=0;i<a.length;i++){
//該迴圈遍歷了後面要比較的元素
for(var j=i+1;j<a.length;j++){
//判斷遍歷出來的元素時候和比較的元素相等,如果相等,則刪除後面的元素
if(a[i]==a[j]){
a.splice(j,1);
j--;
//假設陣列是這樣的var a =[1,2,1,1,3]我開始進行比較,然後刪除了索引為2的元素
//但是剛才刪除了一個元素導致後面的元素索引會往前移一
//就變成這樣a=[1,2,1,3]所以經過j++後,索引為3的元素往前移1索引就變成2了,索引為2的元素為1
//這樣還是存在兩個1
//所以為了防止刪除後還出現相同的元素,所以我們j--,這樣j++後我們還可以對當前索引再比較一次
}
}
}
console.log(a)
</script>
</head>
<body>
</body>
</html>