1. 程式人生 > >js數組去重的兩種方法

js數組去重的兩種方法

遍歷 方法 doc 思路 i++ 代碼 數組去重 -- length

數組去重這種問題經常會遇到,解決方法也有很多,這裏就總結兩種比較常用的方法。

方法一

第一種方法的思路:遍歷數組裏的元素,由第一個元素開始依次按照順序與其後面的元素相比較,如果不同則不用管,相同則把其後所被比較的元素去除。這樣所有元素循環一遍,數組中重復的元素就能全部去除。

代碼:

<script>

var arr = [1, 5, 7, 6, 3, 2, 5, 4, 6, 9, 5, 1, 2, 3, 5, 4, 8, 9, 5, 4, 5, 0];
for (var i = 0; i <= arr.length; i++) {
for (var j = i + 1; j <= arr.length; j++) {
if (arr[i] == arr[j]) {
arr.splice(j, 1);
j--;
}
}
}
document.write(arr);

</ script>

方法二

第二種方法的思路:新建一個空數組,需要去重的數組的每一個元素依次與新建數組的所有元素比較。如果不同就把元素放入新建的數組中,如果相同就不用處理。這樣需要去重的數組的所有元素循環一遍,新建的數組即為按要求完成去重後得到的數組。

代碼:

<script>

var arr = [1, 5, 7, 6, 3, 2, 5, 4, 6, 9, 5, 1, 2, 3, 5, 4, 8, 9, 5, 4, 5, 0];
var arr1 = [];
for (var i = 0; i <= arr.length; i++) {
var states = 1;
for (var j = 0; j <= arr1.length; j++) {
if (arr[i] == arr1[j]) {
states = 0;
break;
}
}
if (states == 1) {
arr1.push(arr[i]);
}
}
document.write(arr1);

</ script>

js數組去重的兩種方法