js?字符串反轉(zhuǎn)(倒序)的幾種方式總結(jié)
js 字符串反轉(zhuǎn)(倒序)方式
第一種
let str = "i am good man"; let newStr = str.split('').reverse().join(""); console.log(newStr)
首先將字符串轉(zhuǎn)為數(shù)組,再反轉(zhuǎn)數(shù)組,最后將數(shù)組轉(zhuǎn)為字符串
split("")
------根據(jù)字符串拆分?jǐn)?shù)組reverse()
------數(shù)組反轉(zhuǎn)元素位置join("")
-------數(shù)組轉(zhuǎn)回字符串,不帶分隔符
第二種
let str = "i am good man "; let newStr = ""; for(let i = 0;i<str.length;i++){ ? ? let s = str.charAt(str.length-i-1) ? ? newStr += s; } console.log(newStr)//nam doog ma i //從尾部開始遍歷字符串,然后逐個拼接字符,得到最終的結(jié)果。
定義新的空字符串,遍歷str,charAt() 是提取字符串的一個字符,先去最后一個字符,再取第二個,依次取,將取到的結(jié)果都放到新的字符前面,以此來實現(xiàn)倒序
第三種
let str ="i am good man"; let newStr = Array.prototype.slice.call(str); console.log(newStr.reverse().join(""))//nam doog ma i
通過call方法來改變slice方法的執(zhí)行主體。將數(shù)組的slice方法調(diào)用call方法后,可以讓字符串具有數(shù)組的特性,從而可以直接調(diào)用reverse方法,最后再通過調(diào)用join方法,得到逆序字符串。
js 算法筆記——反轉(zhuǎn)字符串
反轉(zhuǎn)字符串
編寫一個函數(shù),其作用是將輸入的字符串反轉(zhuǎn)過來。輸入字符串以字符數(shù)組 char[] 的形式給出。
示例 1:
- 輸入:[“h”,“e”,“l”,“l”,“o”]
- 輸出:[“o”,“l”,“l”,“e”,“h”]
思路
- 數(shù)組reverse方法
最簡單,最直接的解法,既然是數(shù)組形式輸出,直接數(shù)組reverse方法倒置數(shù)組即可,既然是算法題,肯定是不希望用數(shù)組reverse方法來解決。
- 雙指針方法
對于字符串,我們定義兩個指針(也可以說是索引下表),一個從字符串前面,一個從字符串后面,兩個指針同時向中間移動,并交換元素。
- 代碼實現(xiàn)
/** * @param {character[]} s * @return {void} Do not return anything, modify s in-place instead. */ //數(shù)組方法實現(xiàn) var reverseString = function(s) { return s.reverse(); }; //雙指針方法實現(xiàn) var reverseString = function(s) { let l = -1 let r = s.length while(++l < --r) [s[l], s[r]] = [s[r], s[l]]; return s; };
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于javascript html5實現(xiàn)3D翻書特效
這篇文章主要介紹了基于javascript html5實現(xiàn)翻書特效的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-03-03