数组去重看似一个简单的问题,随着我们的学习,对于新知识的掌握这个曾经困着我们的问题逐渐变得游刃有余。要去重,中心解决办法就是比较该数组中是否重复的元素,而后将重复的元素去掉。以下带来几个楼主折磨自己中研究出的一点方法~~
方法一
for循环法~~
思路:将数组中的每一个数与数组中其他的数进行比较,看是否有相同的。如果没有相同的那么该数即直接放到新数组里。新的数组中就是无重复的数组。
实例:
function solution1(){
var arr = [1,1,1,3,4,3,4,6,8,3,1,2];
var res = [];
for(var i = 0; i < arr.length; i ++){ // 第一层for用来控制循环的次数
for(var j = 0; j < i; j++){ //第二层for 用于控制与第一层比较的元素
if(res[j] == arr[i])
break;
}
//注:关键:没有吧后面的IF放入循环,所以第一次会循环进if(res.length == j),让res有一个初始的值。
if(res.length == j) //这个的思路比较巧妙,意思是:当该数比较到最后一位都没有数与它相等,那么直接可以表明这个数在该数组中没有重复的,可以直接输出。res[res.length] = arr[i];
}
document.writeln( res);
}
solution1();
<