1.遍歷陣列法
它是最簡單的陣列去重方法(indexof方法)
實現思路:新建乙個陣列,遍歷去要重的陣列,當值不在新陣列的時候(indexof為-1)就加入該新陣列中;
1var arr=[2,8,5,0,5,2,6,7,2];
2function
unique1(arr)8}
9return
hash;
10 }
2.陣列下標判斷法
呼叫indexof方法,效能和方法1差不多
實現思路:如果當前陣列的第 i 項在當前陣列中第一次出現的位置不是 i,那麼表示第 i 項是重複的,忽略掉。否則存入結果陣列。
1function
unique2(arr)7}
8return
hash;
9 }
3.es6實現
基本思路:es6提供了新的資料結構set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。
set函式可以接受乙個陣列(或類似陣列的物件)作為引數,用來初始化。
1function
unique5(arr)
擴充套件:如果重複,則去掉該元素
functionunique22(arr)
} return
hash;
}
JS資料演算法 去重
將陣列轉為set set自身帶有去重功能 再將set轉為陣列 let arr 1 2,3 2,2 3,1 7,8 3,9 4 let newarr array.from new set arr console.log newarr 將陣列每一項與後面所有項比較 如果後面所有項中不存在當前項,則將其新...
JS陣列去重,物件去重
例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...
js 陣列去重
function unique arr if isrepeated return result 建立乙個新的陣列,迴圈原有的陣列,每取乙個數就迴圈判斷新建的陣列中是否有和這個相等的值,沒有則插入。方法簡單,但是有雙重迴圈,陣列大了之後效率低。所以能一次迴圈解決最好。var str new array...