最近被屡次问到数组去重的形式,也百度了一下网络上的一些写法,综合了一下,次要介绍一下三种形式。

//办法1:失常的先排序,而后先后比照

let a = [1,2,3,4,4,5,6];function fun1(arr){  let result = [];  arr.sort();  for(let i = 0;i<arr.length;i++){    if(arr[i] != arr[i+1]){      result.push(arr[i])    }  }  console.log(result)  return result;}fun1(a);

//办法2:应用对象去重

function fun2(arr){  let result = [];  let obj = {};  for(let i = 0;i<arr.length;i++){        if(!obj[arr[i]]){      result.push(arr[i])    }    obj[arr[i]] = true;  }  console.log('fn2',result)  return result;}fun2(a);

//通过es6 去重

let array = Array.from(new Set(a)); /*  写法等同 */ let array = [...new Set(a)]  console.log(array);