JS算法教程之字符串去重與字符串反轉(zhuǎn)
一、字符串去重
說(shuō)起字符串去重,第一時(shí)間就會(huì)想起數(shù)組去重,所以我們可以把字符串轉(zhuǎn)換為數(shù)組,然后對(duì)數(shù)組去重,去重完畢后在拼接成字符串,下面就簡(jiǎn)單羅列兩種字符串去重的方法,接下來(lái)我們看代碼。
第一種方法:
邏輯步驟:
1、使用split或者ES6的展開(kāi)運(yùn)算符...把字符串切割成數(shù)組
2、使用ES6的Set數(shù)據(jù)解構(gòu),它類(lèi)似于數(shù)組,但是它成員的值都是唯一的,使用new創(chuàng)建
3、對(duì)去重后的數(shù)組使用join拼接
let str = '11223344aabbcc' function strSeparate(s) { return [...new Set([...s])].join(''); // or return [...new Set(s.split(''))].join('') } console.log(strSeparate(str))
第二種方法:
邏輯步驟:
第二種方法的邏輯步驟和第一種方法的邏輯步驟只有第2步不同,第1步和第3步都是把字符串轉(zhuǎn)成數(shù)組,對(duì)數(shù)組去重,然后拼接成字符串。
function strSeparate(s) { // 使用展開(kāi)運(yùn)算符,字符串轉(zhuǎn)換成數(shù)組 s = ...str; let arr = []; for(let i = 0; i < s.length; i++) { if(arr.indexOf(s[i]) == -1) { arr.push(s[i]) } } return arr.join(''); }
二、字符串反轉(zhuǎn)
字符串反正我能想到的最簡(jiǎn)單的就是使用數(shù)組的reverse方法,所以還是需要將字符串切割成數(shù)組,然后反轉(zhuǎn)數(shù)組,再拼接。
let str = 'abcdefg' function strReverse(s) { return [...s].reverse().join(''); } // or function reverse(s) { return s.split('').reverse().join(''); }
至于字符串轉(zhuǎn)的方法還有很多,我也再網(wǎng)上看了很多,目前還是覺(jué)得以上兩種最為簡(jiǎn)單,大家如果有什么更好的方法,可以留言也可以私發(fā),我們相互學(xué)習(xí)
總結(jié)
到此這篇關(guān)于JS算法教程之字符串去重與字符串反轉(zhuǎn)的文章就介紹到這了,更多相關(guān)JS字符串去重與反轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS 非圖片動(dòng)態(tài)loading效果實(shí)現(xiàn)代碼
功能說(shuō)明:譬如在按某個(gè)button時(shí),顯示消息"Loading”,然后每隔一秒后后面加上".",至一定數(shù)量的"."時(shí)如:"Loading...",再重置此消息為"Loading",繼續(xù)動(dòng)態(tài)顯示,直至按鈕事件處理完成。2010-04-04JS獲取整個(gè)頁(yè)面文檔的實(shí)現(xiàn)代碼
就是在當(dāng)前頁(yè)面用AJAX請(qǐng)求當(dāng)前頁(yè)面,返回的就是整個(gè)頁(yè)面的HTML··既然是整個(gè)頁(yè)面,所以也包括文檔聲明2011-12-12javascript實(shí)現(xiàn)可改變滾動(dòng)方向的無(wú)縫滾動(dòng)實(shí)例
無(wú)縫滾動(dòng)在制作一些圖片展示的時(shí)候還是蠻有用的,下面與大家分享下javascript實(shí)現(xiàn)的可改變滾動(dòng)方向的無(wú)縫滾動(dòng),具體實(shí)現(xiàn)如下,感興趣的朋友可以參考下哈2013-06-06js實(shí)現(xiàn)倒計(jì)時(shí)器自定義時(shí)間和暫停
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)倒計(jì)時(shí)器自定義時(shí)間和暫停,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02解讀CocosCreator源碼之引擎啟動(dòng)與主循環(huán)
這篇文章主要介紹了CocosCreator源碼解讀之引擎啟動(dòng)與主循環(huán),對(duì)CocosCreator感興趣的同學(xué),可以研究參考一下2021-04-04瀏覽器JavaScript調(diào)試功能無(wú)法使用解決方案
這篇文章主要介紹了瀏覽器JavaScript調(diào)試功能無(wú)法使用解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09js省市聯(lián)動(dòng)效果完整實(shí)例代碼
這篇文章主要介紹了js省市聯(lián)動(dòng)效果完整實(shí)例代碼,涉及JavaScript數(shù)組的定義與遍歷技巧,代碼非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-12-12layui 點(diǎn)擊重置按鈕, select 并沒(méi)有被重置的解決方法
今天小編就為大家分享一篇layui 點(diǎn)擊重置按鈕, select 并沒(méi)有被重置的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09