在JavaScript中,如果我们想要做字符串反转,大家会立马想起:

一个

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

换句话说,当字符串数组变换为二维数组时,启用二维数组的reverse()方式,线程数产生一个字符串数组。

字符串数组->二维数组-> reverse();

js字符串反转函数-react收集表单数据插件-第1张图片2

依据方式1,能够应用array . prototype . slice . call(string)将字符串数组变换为二维数组。

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

因此难题变成了“如何把字符串数组转化成二维数组”,因此拓展操作符(…)务必有一个名字:

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

Array.from()并不是不太可能:

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

Object.assign([],string)还能够将字符串数组转化成二维数组,这是一个很古怪的方法。

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

转化成二维数组后,接口方式还可以更改。Array.reduce()方式可用以拼凑。

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

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"));

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 – MediumJavaScript完成字符串数组逆置的几类方式 – 罗任德 – 博客园4 Ways to Convert String to Character Array in JavaScript | SamanthaMing.com

评论(0条)

刀客源码 游客评论