將陣列轉為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)
將陣列每一項與後面所有項比較
如果後面所有項中不存在當前項,則將其新增到新陣列當中
let arr =[1
,2,3
,2,2
,3,1
,7,8
,3,9
,4];
let newarr =
;for
(let i =
0; i < arr.length; i++)}
console.
log(newarr)
把陣列中所有項以鍵值對形式插入obj當中
在插入前判斷obj中是否已存在當前鍵值對
如果已存在則將陣列中當前項用最後一項替換,並將陣列長度減一,已迴圈次數減一
否則向obj中插入當前鍵值對
let arr =[1
,2,3
,2,2
,3,1
,7,8
,3,9
,4];
let obj =
;for
(let i =
0; i < arr.length; i++
) obj[item]
= item;
}obj =
null
;console.
log(arr)
let arr =[1
,2,3
,2,2
,3,1
,7,8
,3,9
,4];
arr.
sort
((a, b)
=> a - b)
;arr = arr.
join
('@')+
'@';
let reg =
/(\d+@)\1*/g
;let ary =
;arr.
replace
(reg,
(val, group)
=>
)console.
log(ary)
JS去重演算法
1.遍歷陣列法 它是最簡單的陣列去重方法 indexof方法 實現思路 新建乙個陣列,遍歷去要重的陣列,當值不在新陣列的時候 indexof為 1 就加入該新陣列中 1 var arr 2,8,5,0,5,2,6,7,2 2function unique1 arr 8 9return hash 10...
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...