react收集表單數據插件,js字元串反轉函數

在JavaScript中,如果要做字元串反轉,我們第一時間會想到:

1

const str = "www.mzh.ren";
str.split('').reverse().join('');
// "ner.hzm.www"

即,字元串轉化為數組,調用數組的reverse()方法,連接數組成字元串。

string->array->reverse();

JavaScript 8種字元串反轉的方法

2

根據方法1,可以利用Array.prototype.slice.call(string)將字元串轉化成數組。

const str = "www.mzh.ren";
Array.prototype.slice.call(str).reverse().join('');
// "ner.hzm.www"

3

於是這個問題就變成了「如何將字元串轉化成數組」,那麼,展開運算符(…)必須擁有姓名:

const str = 'www.mzh.ren';
[...str].reverse().join('');
// "ner.hzm.www"

4

Array.from()也不是不可以:

const str = "www.mzh.ren";
Array.from(str).reverse().join('');
// "ner.hzm.www"

5

Object.assign([],string) 也可以將字元串轉化為數組,算是奇技淫巧了。

const str = "www.mzh.ren";
Object.assign([], str).reverse().join('');
// "ner.hzm.www"

6

轉化成數組之後,也可以在連接方式做改變,Array.reduce() 方法,可以做一個拼接。

const str = "www.mzh.ren";
str.split('').reduce((prevs, curr) => curr + prevs);
// "ner.hzm.www"

7

for 循環當然也可以:

const reverseString = (str) => {
	let i, j, reversed = [];

	for (i=str.length-1, j=0; i>=0; i--, j++) {
		reversed[j] = str[i];
	}

	return reversed.join('');
}

console.log ("reverse -", reverseString ("reverse"));
console.log ("reversed -", reverseString ("reversed"));

8

for循環就有更多的變種了,數組的push() 與 pop()方法也可以:

const reverseString = (str) => {
	str = str.split('');
	let reversed = [];

	while (str.length > 0) {
		reversed.push(str.pop());
	}

	return reversed.join('');
}

console.log ("reverse -", reverseString ("reverse"));
console.log ("reversed -", reverseString ("reversed"));

參考資料

  • Seven ways to reverse a string in JavaScript – JavaScript in Plain English – Medium
  • JavaScript實現字元串逆置的幾種方法 – 羅任德 – 博客園
  • 4 Ways to Convert String to Character Array in JavaScript | SamanthaMing.com

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/230073.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-10 13:17
下一篇 2024-12-10 13:18

相關推薦

發表回復

登錄後才能評論