JS常見的幾種陣列去重方法
阿新 • • 發佈:2018-11-19
總結一下JS中用到的陣列去重的方法
方法一:
該方法利用物件的屬性值不能相同:
function arrDelLikeElement (array) { const result = []; const obj = {}; for(let i in array){ if(!obj[array[i]]){ result.push(array[i]); obj[array[i]] = i; } } return result; } arr= arrDelLikeElement(arr);
方法二:
該方法使用ES6中的對映方法:
function arrayDelLikeElement(array) { //將傳入的陣列引數作為javascript中的建立一個Set(集合)物件的方法中的引數 var arrSet = new Set(array); //定義一個空陣列用來接收集合迴圈遍歷的值 var arrEmpty = []; for (const value of arrSet) { arrEmpty.push(value); } array=arrEmpty; return array } arrLike = arrayDelLikeElement(arr);
方法三:
該方法使用遞迴呼叫
var arr=[1,6,1,2,2,1,3,1,3,4,5,6]; // 第一步:將陣列進行排序 arr = arr.sort(function(a,b){ return a-b }); // 第二步編寫遞迴函式 function mul (arr , i) { if(i>=1){ if(arr[i] === arr[i-1]){ arr.splice(i,1); } mul(arr,(i-1)); } return arr; } mul(arr , arr.length); console.log(arr)
以上方法時常用的方法,後續持續更新新的方法,如果您有更好的方法,可以留言評論,咱們互相討論!!!