JS算法教程之字符串去重與字符串反轉(zhuǎn)
一、字符串去重
說起字符串去重,第一時(shí)間就會(huì)想起數(shù)組去重,所以我們可以把字符串轉(zhuǎn)換為數(shù)組,然后對(duì)數(shù)組去重,去重完畢后在拼接成字符串,下面就簡(jiǎn)單羅列兩種字符串去重的方法,接下來我們看代碼。
第一種方法:
邏輯步驟:
1、使用split或者ES6的展開運(yùn)算符...把字符串切割成數(shù)組
2、使用ES6的Set數(shù)據(jù)解構(gòu),它類似于數(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) {
// 使用展開運(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)上看了很多,目前還是覺得以上兩種最為簡(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)前時(shí)區(qū)TimeZone是否是夏令時(shí)
這篇文章主要介紹了js判斷當(dāng)前時(shí)區(qū)TimeZone是否是夏令時(shí)的方法,需要的朋友可以參考下2014-02-02
Javascript實(shí)現(xiàn)元素選擇器功能
這篇文章主要為大家詳細(xì)介紹了Javascript實(shí)現(xiàn)元素選擇器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
js實(shí)現(xiàn)獲取div坐標(biāo)的方法
這篇文章主要介紹了js實(shí)現(xiàn)獲取div坐標(biāo)的方法,通過調(diào)用jQuery插件實(shí)現(xiàn)獲取div元素坐標(biāo)的功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-11-11
完美實(shí)現(xiàn)js焦點(diǎn)輪播效果(一)
這篇文章主要為大家詳細(xì)介紹了完美實(shí)現(xiàn)js焦點(diǎn)輪播效果的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
layer.open彈層查看縮略圖的原圖,自適應(yīng)大小的實(shí)例
今天小編就為大家分享一篇layer.open彈層查看縮略圖的原圖,自適應(yīng)大小的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09

