// 方法一: 使用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...