最近被屡次问到数组去重的形式,也百度了一下网络上的一些写法,综合了一下,次要介绍一下三种形式。
//办法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);