在前端工作中,數(shù)組算是我們常見(jiàn)的數(shù)據(jù)格式,我們很多時(shí)候都需要對(duì)數(shù)組進(jìn)行大量的操作,數(shù)組去重自然也是很重要的問(wèn)題,文匯軟件小編就跟大家分享下數(shù)組如何去重。
第一種:雙重for循環(huán),即新建一個(gè)空的數(shù)組,使用兩個(gè)for循環(huán)分別讓他們錯(cuò)位進(jìn)行對(duì)比,如果數(shù)據(jù)相同則定義一個(gè)變量為true,最后將所有不為true的對(duì)象推進(jìn)新的數(shù)組中
這里上面是原來(lái)沒(méi)有去重的值,下面是處理后的結(jié)果
第二種:也是雙重for循環(huán)。不同的是這是兩個(gè)數(shù)組分別用進(jìn)行相互比較,也是設(shè)置一個(gè)變量,如果值相同則使用break打斷這次的循環(huán),最后循環(huán)出的內(nèi)容在推進(jìn)新數(shù)組_arr.push中
與上面一樣上面是沒(méi)有去重的值(此后不再贅述),下面為處理后的值
第三種:是使用es5的includes方法判斷數(shù)組中是否存在,先試用foreach遍歷數(shù)組,然后再用includes方法判斷數(shù)組中是否存在,不存在則推到新數(shù)組,不存在返回-1
第四種:與第三種差不多使用indexof判斷數(shù)組中的索引值(es5)不存在返回-1
第五種:使用sort進(jìn)行排序去重,如果是空數(shù)組或者最后一個(gè)與當(dāng)前不一致則推出新數(shù)組
第六種使用es6語(yǔ)法展開(kāi)運(yùn)算符...,在使用new Set()會(huì)保證內(nèi)部的成員唯一,并推入新的數(shù)組
小編這里一共會(huì)六種數(shù)組去重的方式,如果各位讀者還有別的歡迎和小編一起交流,如想關(guān)注就來(lái)文匯軟件吧