陣列去重,在面試、筆試中,會經常遇到,下面談下常見的去重方法,從中可以觀察不同的去重方法的效果。
let arr =[1
,'1',2
,2,true
,true
,'true'
, undefined,
null
, undefined,
null
,nan
,nan,,,,
]// 利用es6 set去重(es6中最常用),{}沒去重
const
unique1
= arr =>
const
unique2
= arr =>
console.
log(
'----------array.from(new set(arr))--------'
)console.
log(
unique1
(arr)
)// [ 1, '1', 2, true, 'true', undefined, null, nan, {}, {}, , ]
console.
log(
'----------[... new set(arr)]--------'
)console.
log(
unique2
(arr)
)// [ 1, '1', 2, true, 'true', undefined, null, nan, {}, {}, , ]
const
unique3
= arr =>if(
!(~array.
indexof
(arr[i]))
)}return array
}console.
log(
'----------indexof--------'
)console.
log(
unique3
(arr)
)// [ 1, '1', 2, true, 'true', undefined, null, nan, nan, {}, {}, , ]
const
unique4
= arr =>
}return array
}console.
log(
'----------includes--------'
)console.
log(
unique4
(arr)
)// [ 1, '1', 2, true, 'true', undefined, null, nan, {}, {}, , ]
const
unique5
= arr =>,[
])}console.
log(
'----------reduce--------'
)console.
log(
unique5
(arr)
)// [ 1, '1', 2, true, 'true', undefined, null, nan, {}, {}, , ]
const
unique6
= arr =>
return arr.
filter
(val =>)}
console.
log(
'----------filter+hasownproperty--------'
)console.
log(
unique6
(arr)
)// [ 1, '1', 2, true, 'true', undefined, null, nan, {}, ]
JS陣列去重的幾種常見方法
js陣列去重的幾種常見方法 一 簡單的去重方法 最簡單陣列去重法 新建一新陣列,遍歷傳入陣列,值不在新陣列就push進該新陣列中 ie8以下不支援陣列的indexof方法 function uniq array return temp var aa 1,2,2,4,9,6,7,5,2,3,5,6,5...
JS陣列去重的幾種常見方法
方法一 最簡單陣列去重法 新建一新陣列,遍歷傳入陣列,值不在新陣列就push進該新陣列中 ie8以下不支援陣列的indexof方法 function uniq array return temp var aa 1,2,2,4,9,6,7,5,2,3,5,6,5 console.log uniq aa...
JS陣列去重的幾種常見方法
js陣列去重的幾種常見方法 一 簡單的去重方法 最簡單陣列去重法 新建一新陣列,遍歷傳入陣列,值不在新陣列就push進該新陣列中 ie8以下不支援陣列的indexof方法 function uniq array return temp var aa 1,2,2,4,9,6,7,5,2,3,5,6,5...