1. 程式人生 > 其它 >前端JS演算法之字串去重和字串反轉

前端JS演算法之字串去重和字串反轉

技術標籤:JS字串去重字串反轉前端演算法jsJavaScript

在這裡插入圖片描述

一、字串去重

說起字串去重,第一時間就會想起陣列去重,所以我們可以把字串轉換為陣列,然後對陣列去重,去重完畢後在拼接成字串,下面就簡單羅列兩種字串去重的方法,陣列去重大家可以去看我之前的文章《前端JS演算法之陣列去重》,接下來我們看程式碼。

第一種方法:
邏輯步驟:
1、使用split或者ES6的展開運算子...把字串切割成陣列
2、使用ES6的Set資料解構,它類似於陣列,但是它成員的值都是唯一的,使用new建立
3、對去重後的陣列使用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步都是把字串轉成陣列,對陣列去重,然後拼接成字串。

let str = '11223344aabbcc'
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方法,所以還是需要將字串切割成陣列,然後反轉陣列,再拼接。

let str = 'abcdefg'
function strReverse(s) {
    return [...s].reverse().join('');
}
// or
function reverse
(s) { return s.split('').reverse().join(''); }

至於字串轉的方法還有很多,我也再網上看了很多,目前還是覺得以上兩種最為簡單,大家如果有什麼更好的方法,可以留言也可以私發,我們相互學習