JS算法教程之字符串去重與字符串反轉
一、字符串去重
說起字符串去重,第一時間就會想起數(shù)組去重,所以我們可以把字符串轉換為數(shù)組,然后對數(shù)組去重,去重完畢后在拼接成字符串,下面就簡單羅列兩種字符串去重的方法,接下來我們看代碼。
第一種方法:
邏輯步驟:
1、使用split或者ES6的展開運算符...把字符串切割成數(shù)組
2、使用ES6的Set數(shù)據(jù)解構,它類似于數(shù)組,但是它成員的值都是唯一的,使用new創(chuàng)建
3、對去重后的數(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步都是把字符串轉成數(shù)組,對數(shù)組去重,然后拼接成字符串。
function strSeparate(s) { // 使用展開運算符,字符串轉換成數(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(''); }
二、字符串反轉
字符串反正我能想到的最簡單的就是使用數(shù)組的reverse方法,所以還是需要將字符串切割成數(shù)組,然后反轉數(shù)組,再拼接。
let str = 'abcdefg' function strReverse(s) { return [...s].reverse().join(''); } // or function reverse(s) { return s.split('').reverse().join(''); }
至于字符串轉的方法還有很多,我也再網(wǎng)上看了很多,目前還是覺得以上兩種最為簡單,大家如果有什么更好的方法,可以留言也可以私發(fā),我們相互學習
總結
到此這篇關于JS算法教程之字符串去重與字符串反轉的文章就介紹到這了,更多相關JS字符串去重與反轉內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
JS 非圖片動態(tài)loading效果實現(xiàn)代碼
功能說明:譬如在按某個button時,顯示消息"Loading”,然后每隔一秒后后面加上".",至一定數(shù)量的"."時如:"Loading...",再重置此消息為"Loading",繼續(xù)動態(tài)顯示,直至按鈕事件處理完成。2010-04-04javascript實現(xiàn)可改變滾動方向的無縫滾動實例
無縫滾動在制作一些圖片展示的時候還是蠻有用的,下面與大家分享下javascript實現(xiàn)的可改變滾動方向的無縫滾動,具體實現(xiàn)如下,感興趣的朋友可以參考下哈2013-06-06解讀CocosCreator源碼之引擎啟動與主循環(huán)
這篇文章主要介紹了CocosCreator源碼解讀之引擎啟動與主循環(huán),對CocosCreator感興趣的同學,可以研究參考一下2021-04-04瀏覽器JavaScript調(diào)試功能無法使用解決方案
這篇文章主要介紹了瀏覽器JavaScript調(diào)試功能無法使用解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09layui 點擊重置按鈕, select 并沒有被重置的解決方法
今天小編就為大家分享一篇layui 點擊重置按鈕, select 并沒有被重置的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09