一、字符串去重
說起字符串去重,第一時間就會想起數組去重,所以我們可以把字符串轉換為數組,然后對數組去重,去重完畢后在拼接成字符串,下面就簡單羅列兩種字符串去重的方法,接下來我們看代碼。
第一種方法:
邏輯步驟:
1、使用split或者ES6的展開運算符...把字符串切割成數組
2、使用ES6的Set數據解構,它類似于數組,但是它成員的值都是唯一的,使用new創建
3、對去重后的數組使用join拼接
1
2
3
4
5
6
|
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步都是把字符串轉成數組,對數組去重,然后拼接成字符串。
1
2
3
4
5
6
7
8
9
10
11
|
function strSeparate(s) { // 使用展開運算符,字符串轉換成數組 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( '' ); } |
二、字符串反轉
字符串反正我能想到的最簡單的就是使用數組的reverse方法,所以還是需要將字符串切割成數組,然后反轉數組,再拼接。
1
2
3
4
5
6
7
8
|
let str = 'abcdefg' function strReverse(s) { return [...s].reverse().join( '' ); } // or function reverse(s) { return s.split( '' ).reverse().join( '' ); } |
至于字符串轉的方法還有很多,我也再網上看了很多,目前還是覺得以上兩種最為簡單,大家如果有什么更好的方法,可以留言也可以私發,我們相互學習
總結
到此這篇關于JS算法教程之字符串去重與字符串反轉的文章就介紹到這了,更多相關JS字符串去重與反轉內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://juejin.cn/post/6906305675186569230