数组去重问题的简便解决方法
var arr = [1,1,3,5,6,3,4,9]
function noRepeat( arr ){
//定义一个空数组 来装不重复的内容
var no_repeat_arr = [];
// 遍历原数组;
for(var i = 0 ; i < arr.length ; i ++){
// 判定:第一次执行,因为数组里是空的,所以直接放入;
if( i === 0 ){
no_repeat_arr.push(arr[i]);
continue;
}
// 判定去重数组之中是否存在这个数据;
// 使用 indexOf 去判定数据是否重复; 如果等于 -1 表示新数组之中没有该项数据;
if(no_repeat_arr.indexOf(arr[i]) === -1){
no_repeat_arr.push(arr[i]);
}
}
return no_repeat_arr
}
console.log(noRepeat(arr))
思路:编写一个函数,在里面先创建以个新的空数组用来装不重复的内容。
1.先遍历原数组 , 判定原数组的第一项肯定不是重复的,所以直接添加到新数组中
2.在判定新数组中有没有存在相同的元素(用indexOf()判定),如果有重复的数据返回的值是0,如果没有重复的数据返回的值为 -1 ;
3.所以 判定 当返回的值 等于 -1 的时候 ,继续将这个这个数据添加到 新数组中。
4.等原数组遍历完之后,返回新数组,这时候新数组中都是不重复的数据