1. 程式人生 > 程式設計 >JS演算法教程之字串去重與字串反轉

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步都是把字串轉成陣列,對陣列去重,然後拼接成字串。

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('');
}

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

總結

到此這篇關於JS演算法教程之字串去重與字串反轉的文章就介紹到這了,更多相關JS字串去重與反轉內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!