陣列去重
1、var arr = [4,2,5,7,2,6,2,6,6,5]
console.log(arr)
使用迴圈依次比較,遇到重複的就刪除
比較length-1趟
for (var i = 0; i < arr.length - 1; i++) }}
console.log(arr)
2、var arr = [4,2,4,5,7,2,6,2,6,6,5]
利用物件的屬性名不衝突完成去重
可以把數字作為物件的屬性名
var obj =
console.log(obj[4])
遍歷陣列,判斷當前陣列元素作為物件屬性名是否能取到值
如果取不到,說明這是第一次遍歷到當前值,就把當前元素作為物件屬性名賦個值
如果取到了,說明之前已經賦過值了,也就是說當前值不是第一次出現
var obj = {}
var arr1 =
arr.foreach(function (item) else
})3、var arr = [4,2,4,5,7,2,6,2,6,6,5]
es6的寫法,把陣列寫成set,set是es6新增的資料型別,預設不允許重複的
但是把陣列變成set了,再使用array.from重新轉換成陣列,就可以了
var arr1 = array.from(newset(arr))
console.log(arr1)
...擴充套件運算子
var arr2 = [ ...new set(arr) ]
console.log(arr2)
JS陣列去重,物件去重
例項1根據indexof去重,indexof的好處就是返回的是首次出現的位置,這樣後面即使出現的值一樣,也只能返回第一次出現的索引,當然這個只適用於簡單的陣列 物件陣列去重 const objarr const obj const newobjarr for let i 0 i objarr.len...
js陣列去重以及陣列內物件去重
大家在寫專案的時候一定遇到過這種邏輯需求,就是給乙個陣列進行去重處理,還有一種就是給陣列內的物件根據某乙個屬性,比如id,進行去重,下面我寫了兩個函式,都是可以達到這個效果的,乙個是純es5的去重辦法,乙個是用了es6的array.from new set 和es5的reduce來進行去重 我先定義...
iOS陣列的去重
近來,專案中遇到了陣列去重的需求,自己想了下,建立另乙個陣列加判斷條件來新增原陣列的元素 但是上面那種方法的時間複雜度是 n 2 下面這個方法 nsarray arr 1 2 1 3 1 2 3 2 nsorderedset set nsorderedset alloc initwitharray ...