下內容屬于個人原創(chuàng),轉載請注明出處,非常感謝!

刪除數(shù)組中重復的值或者刪除字符串重復的字符,是我們前端開發(fā)人員碰到很多這樣的場景。還有求職者在被面試時也會碰到這樣的問題!比如:問刪除字符串重復的字符,保留其中的一個,并打印出重復的次數(shù)。

其實這種問題或者場景,要是針對刪除字符串重復的字符,這個可以用正則表達式實現(xiàn),那么這個需要Web前端開發(fā)人員熟悉正則表達式了,要是針對數(shù)組,有的人就會想到,我們可以用jion('')轉成字符串可以用了。但是這種數(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ù)組,就不能用正則來弄了!

 

看了上面的問題,肯定有人會想,能不能寫一個通用的,既能刪除字符串中重復的字符,也能刪除數(shù)組中重復的值呢?

恭喜你,找對地方了,在我這里就是一個字有!,但支持到IE9以上標準模式的瀏覽器(IE9、IE10、IE11等這些版本的企業(yè)模式不支持),其他的Chrome、火狐等瀏覽器就不要去考慮了,因為肯定支持的

代碼如下(以下代碼用ES6格式寫的):

 

Android培訓,安卓培訓,手機開發(fā)培訓,移動開發(fā)培訓,云培訓培訓

 1 let getRemoveRepeat = (obj, flag) => { 2             if (typeof obj === 'undefined') return '傳入\"abcab\"或\[\"a\"\,\"b\"\,\"a\"\]'; 3             let str, _map = {}, arr = [], mod = 0; 4             flag = typeof flag === 'undefined' ?&nb