//1、迴圈兩遍,依次用自己和其他所有項相比,找到相同的刪除,記得i--
arr.
foreach
(function
(item,index,arr)}}
)console.
log(arr)
;//2、通過filter,返回符合條件的項組成的陣列,當前迴圈項的value所在的index是否是迴圈傳的引數,要是之前出現過這個value,index會等於之前出現的那個index
let arr1 = arr.
filter
(function
(item,index,arr)})
console.
log(arr1)
;//3、 之前的返回值pre中要是包含現在的item,就返回之前的pre,不包含就返回之前的pre和item組成的陣列,注意this指向,方便使用includes()方法
let arr1 = arr.
reduce
(function
(pre,item,index),[
])console.
log(arr1)
;//4、因為物件的屬性名不能重名,重名屬性會被覆蓋,typeof item+item即每個屬性名為number+item,item如果相同就會重名,就會返回是自己的屬性false,不是自己的屬性時把該屬性新增到obj中
let obj =
;let arr1 = arr.
filter
(function
(item,index)
)console.
log(arr1)
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...
JS 陣列去重
我總共想出了三種演算法來實現這個目的 array.prototype.unique1 function return n array.prototype.unique2 function r n為hash表,r為臨時陣列 for var i 0 i this.length i 遍歷當前陣列 retu...