数组去重
<script>
var arr = [1, 1, 2, 1, '2', '1', 3, 3, 7, 6, 8, 6, 9, 4, 1, 7, 4, 9]
// 先遍历一组数组,把数组中所有的元素取出来
for (var i = 0; i < arr.length; i++) {
// 把该元素的后面的元素取出来做对比
for (var j = i + 1; j < arr.length; j++) {
// 循环判断当前元素和后面的每一个元素是否相等
if (arr[i] == arr[j]) {
// 如果相等,证明了出现了相同的元素,就要删除后面的元素j
arr.splice(j, 1);
// 当删除了当前j所在元素的位置后,后面的元素自动补位,自动补位的位置可能和删除的元素相同!
// 所以我需要在比较一次删除的位置,让j-- 只要满足了两个数相等,就会删除后面的数,
// 删除了后再来比较一次这个位置的数
j--;
// 只有删除了一个元素后,才会减减
}
}
}
console.log(arr)
</script>
答案:
Array(8)
0: 1
1: 2
2: 3
3: 7
4: 6
5: 8
6: 9
7: 4
length: 8
网友评论