数组去重

133 阅读1分钟

1,利用splice直接在原数组进行操作

let array=[1,5,2,3,4,2,3,1,3,4];
   function unique(array) {
     for(i = 0; i < array.length; i++){
       for(j = i + 1; j < array.length; j++){
         if(array[i] == array[j]){
            array.splice(j,1);
            array.length--;
              j--;
       }
    }
 }
 return array;
};

优点:简单易懂

缺点:占用内存高,速度慢

2,使用了map数组去重的方法

let array=[1,5,2,3,4,2,3,1,3,4];
function unique(array) {
    let map = new Map();
    let result = new Array();  // 数组用于返回结果
    for (let i = 0; i < arr.length; i++) {
        if(map.has(arr[i])) { // 判断 map 中是否已有该 key 值
            map.set(arr[i]);
        } else {  // 如果 map 中没有该 key 值,添加
            map.set(arr[i]);  
            result.push(arr[i]);
        }
    } 
    return result;
}
console.log(unique(array));//[1,5,2,3,4]