Js陣列去重

2021-10-17 14:49:45 字數 1540 閱讀 8230

// 方法一: 使用es6 map()資料結構唯一特點

let nums =[1

,2,3

,4,5

,6,9

,7,7

,8,8

]let newnums1 =

[...

newset

(nums)

]console.

log(newnums1)

;

// 方法二; 

let newnums2 = nums.

map(item =>

)console.

log(newnums2)

;

// 方法三:要開闢新空間. 一遍迴圈+重新塞進新陣列

function

uniquenums3

(nums)

}return result

}const res3 =

uniquenums3

(nums)

console.

log(res3)

;

// 方法四: 兩遍迴圈, 不需要開闢新空間

function

uniquenums4

(nums)}}

return nums

}const res4 =

uniquenums4

(nums)

console.

log(res4)

;

// 方法五:sort()排序後, 看相鄰是否相等, 不開闢新空間

function

uniquenums5

(nums)

}return nums

}const res5 =

uniquenums5

(nums)

console.

log(

'res5'

,res5)

;

// 方法六: 一遍迴圈+ 開闢新空間, 和方法三其實一樣.

function

uniquenums6

(nums)

}return result

}const res6 =

uniquenums6

(nums)

console.

log(

'res6'

, res6)

;

// 方法六: filter, es6 filter

function

uniquenums7

(nums))}

const res7 =

uniquenums7

(nums)

console.

log(

'res7'

, res7)

;

js陣列去重的方式還不止這幾種, 後續遇見繼續補充.

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