js数组去重
2018-11-13 本文已影响0人
十九_1186
思路一、
从最右面也就是最后面的数组元素开始一步一步和它前面的元素做比较,当两者相等的时候,把前者删除掉,然后在让下一个数组元素和之前的元素比较。
var arr1 = [1,2,3,0,9,7,6,3,2,5,3,2,0,8,9,7];//声明一个数组
for(var i=arr1.length-1;i>=0;i--){ //遍历这个数组
for(var j=i-1;j>=0;j--){ //遍历最后一个元素之前的元素
if(arr1[i] == arr1[j]){ //永远让最后一个元素去和前面的元素做比较,如果相等的话,
arr1.splice(i,1); //就删除最后这个元素,
break; //删除之后,跳出这次循环,执行下一次的循环
}
}
}
console.log (arr1); //打印出结果
思路二、
声明个空数组,让第一个数组里的元素和第二个数组里的元素做比较,如果相等就不添加到第二个数组里,结束循环,继续下一次循环,如果不相等,就添加到第二个数组里。
var arr1 = [1,2,2,6,4,7,8,2,1,6,7,0,9,8];
var arr2 = [];
for(var i=0;i<arr1.length;i++){ //遍历第一个数组
var flag = true; //设置一个开关
for(var j=0;j<arr2.length;j++){ //遍历第二个数组
if(arr[i] == arr2[j]){ //如果相等,布尔值为假,直接跳出,继续下一次循环,不相等往下执行,添加到arr2空数组里;
flag = false;
bereak;
}
}
if(flag){ //如果flage为真,就执行了里面的。
arr2.push(arr1[i]); //添加到这个数组里
}
}
console.log(arr2); //打印出结果