数组去重

数组去重是过滤掉数组中重复的数据,下面介绍数组去重的几种方法:


1.创建两个数组,把数组内的元素放到另外一个数组中,判断是否存在重复的元素,重复的元素就不添加。

var arr = [1,2,2,3,4,5,4,6,3,7,8];
var arr2 = [];
for(var i=0;i<arr.length;i++){
if(arr2.indexOf( arr[i])== -1)
{
arr2.push(arr[i]);
}
}
alert(arr2);

上面使用了indexOf()来判断是否存在重复的元素。indexOf()定位字符串某个指定的字符首次出现的位置。如果arr2有重复的元素,indexOf()返回出现元素的位置,不添加到arr2中,如果找不过重复的元素就返回-1。

2.创建一个新数组,遍历一下原来的数组,若遍历元素在新数组中不存在就添加到数组中,反之不添加。
与上面的思路相同,都是创建两个数组,然后判断是否存在重复的元素;不同的是这里不用indexOf()去判断,是添加一个开关量并设置初始值为false,当为true时向新数组中添加元素。

var arr = [1,2,2,2,3,4,5,4,6,3,7,8];
fn(arr);
function fn(arr){
var arr2 = [];
for(var i = 0;i < arr.length; i++){
var repeat = false;
for(var j = 0;j < arr2.length;j++){
if(arr[i] === arr2[j]){
repeat = true;
break;
}
}
if(!repeat){
arr2.push(arr[i]);
}
}
console.log(arr2)
}

原文地址:https://www.cnblogs.com/changpuyi/p/8502648.html