js 陣列去重

2021-10-09 15:35:49 字數 836 閱讀 2383

//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...