以下內(nèi)容屬于個(gè)人原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處,非常感謝!
刪除數(shù)組中重復(fù)的值或者刪除字符串重復(fù)的字符,是我們前端開(kāi)發(fā)人員碰到很多這樣的場(chǎng)景。還有求職者在被面試時(shí)也會(huì)碰到這樣的問(wèn)題!比如:?jiǎn)杽h除字符串重復(fù)的字符,保留其中的一個(gè),并打印出重復(fù)的次數(shù)。
其實(shí)這種問(wèn)題或者場(chǎng)景,要是針對(duì)刪除字符串重復(fù)的字符,這個(gè)可以用正則表達(dá)式實(shí)現(xiàn),那么這個(gè)需要Web前端開(kāi)發(fā)人員熟悉正則表達(dá)式了,要是針對(duì)數(shù)組,有的人就會(huì)想到,我們可以用jion('')轉(zhuǎn)成字符串可以用了。但是這種數(shù)組要滿足這樣的要求才可以,如:['a','b','c','a','b'],這種是可以的!但是這樣的數(shù)組數(shù)據(jù),幾乎是可能這樣完美的,尤其是數(shù)據(jù)的數(shù)組。比如:[1,123,3,55,54,56,3,123]或['a','ab','a'],大多數(shù)都是這樣的。這樣類型的數(shù)組,就不能用正則來(lái)弄了!
看了上面的問(wèn)題,肯定有人會(huì)想,能不能寫(xiě)一個(gè)通用的,既能刪除字符串中重復(fù)的字符,也能刪除數(shù)組中重復(fù)的值呢?
恭喜你,找對(duì)地方了,在我這里就是一個(gè)字有!,但支持到IE9以上標(biāo)準(zhǔn)模式的瀏覽器(IE9、IE10、IE11等這些版本的企業(yè)模式不支持),其他的Chrome、火狐等瀏覽器就不要去考慮了,因?yàn)榭隙ㄖС值?/strong>
代碼如下(以下代碼用ES6格式寫(xiě)的):
延伸閱讀
學(xué)習(xí)是年輕人改變自己的最好方式