所谓数组去重,就是将一个数组中重复的元素去除,使得数组中每个元素只保留一次,我们的基本思路是,新建一个空数组,然后遍历我们需要去重的数组,对原数组中的每一个元素进行判断:如果我们新建的数组中没有这个元素,那么就将这个元素添加到新数组中。
我们来看一下具体的操作:
var arr1 = [1,1,1,2,2,2,2,3,3,3,3,4,4,4,5,5,5,5,6,6,6,6,];
var arr2 = [];
arr1.forEach(function(val){
if(arr2.indexOf(val) === -1){
arr2.push(val);
}
})
console.log(arr2);
这里我们先定义了一个数组arr1,它的元素是有重复的,然后我们再定义一个空数组arr2,我们稍后会将取出的元素放入arr2中,然后我们使用for.Each遍历数组(方法很多,也可以用for循环或for in循环),取出arr1中的每一项,放入val变量中,之后我们对arr2进行查找,使用indexOf命令,如果它的返回值是正数,就代表在它返回值的位置已经有了这个val,如果它的返回值是-1,就代表arr2数组中此时并没有val这个值,那么我们就将它添加到arr2中,当循环结束后,我们就得到了一个没有重复的新数组arr2。