第一种:
// 最简单数组去重法
/*
* 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中
* IE8以下不支持数组的indexOf方法
* */
function uniq(array){
var temp = []; //一个新的临时数组
for(var i = 0; i < array.length; i++){
if(temp.indexOf(array[i]) == -1){
temp.push(array[i]);
}
}
return temp;
}
var bb = [2,2,4,5,5,7,9,5,4,2,1];
console.log(uniq(bb));
//第二种:(楼主推荐使用)
// 思路:获取没重复的最右一值放入新数组
* 实现思路:获取没重复的最右一值放入新数组。
* (检测到有重复值时终止当前循环同时进入顶层循环的下一轮判断)*/
function uniq(array){
var temp = [];
var index = [];
var l = array.length;
for(var i = 0; i < l; i++) {
for(var j = i + 1; j < l; j++){
if (array[i] === array[j]){
i++;
j = i;
}
}
temp.push(array[i]);
index.push(i);
}
console.log(index);
return temp;
}
var cc = [2,3,4,4,5,2,3,7,9,1];
console.log(uniq(cc));
![鸭嘴兽](https://i-blog.csdnimg.cn/blog_migrate/fa8337a6c7ce3447f7b014c849f11385.png)