【js學(xué)習(xí)筆記四】數(shù)組雙重去重的方式三filter
前言
??????? 我是歌謠 我有個(gè)兄弟 巔峰的時(shí)候排名c站總榜19 叫前端小歌謠 曾經(jīng)我花了三年的時(shí)間創(chuàng)作了他 現(xiàn)在我要用五年的時(shí)間超越他 今天又是接近兄弟的一天人生難免坎坷 大不了從頭再來(lái) 歌謠的意志是永恒的 放棄很容易 但是堅(jiān)持一定很酷
導(dǎo)語(yǔ)
?????? 數(shù)組雙重去重的方式三indexOf
?
????? var geyao = [1, 2, 3, 4, 6, 7, 1, 2, 3, 8, 9]
??????????? function ArrayCommon(arr) {
??????????????? //判斷是不是數(shù)組? 不是數(shù)組就返回一個(gè)false
??????????????? if (!Array.isArray(arr)) {
??????????????????? console.log('這不是一個(gè)數(shù)組哦')
??????????????????? return
??????????????? }
??????????????? //元素在數(shù)組中第一次出現(xiàn)的位置是否和元素現(xiàn)在的位置相等
??????????????? return Array.prototype.filter.call(arr,function(item,index){
??????????????????? console.log(arr.indexOf(item),item,index)
??????????????????? return arr.indexOf(item)===index
??? ?
??????????????? })
??????????? }
??? ?
??????????? console.log(ArrayCommon(geyao, 'geyao'))
運(yùn)行結(jié)果
??? 0 1 0
??? 數(shù)組去重的第二種方式220313.html:24 1 2 1
??? 數(shù)組去重的第二種方式220313.html:24 2 3 2
??? 數(shù)組去重的第二種方式220313.html:24 3 4 3
??? 數(shù)組去重的第二種方式220313.html:24 4 6 4
??? 數(shù)組去重的第二種方式220313.html:24 5 7 5
??? 數(shù)組去重的第二種方式220313.html:24 0 1 6
??? 數(shù)組去重的第二種方式220313.html:24 1 2 7
??? 數(shù)組去重的第二種方式220313.html:24 2 3 8
??? 數(shù)組去重的第二種方式220313.html:24 9 8 9
??? 數(shù)組去重的第二種方式220313.html:24 10 9 10
??? 數(shù)組去重的第二種方式220313.html:30 (8) [1, 2, 3, 4, 6, 7, 8, 9]
總結(jié)
??? 利用indexOf檢測(cè)元素在數(shù)組中第一次出現(xiàn)的位置是否和元素現(xiàn)在的位置相等,如果不等則說(shuō)明該元素是重復(fù)元素