在JS中反转String

时间:2015-08-03 17:59:51

标签: javascript arrays string reverse

我正在通过教程编写代码(我在这方面相当新),而这个特殊的练习让我大脑筋疲力尽。以下是参数:

反转提供的字符串。 您可能需要先将字符串转换为数组,然后才能将其反转。您的结果必须是字符串。

以下是我给出的代码:

function reverseString(str) {
  return str;
}
reverseString('hello');


expect(reverseString('hello')).to.be.a('String');

expect(reverseString('hello')).to.equal('olleh');expected 'hello' to equal 'olleh'

expect(reverseString('Howdy')).to.equal('ydwoH');expected 'Howdy' to equal 'ydwoH'

expect(reverseString('Greetings from Earth')).to.equal('htraE morf sgniteerG');expected 'Greetings from Earth' to equal 'htraE morf sgniteerG'

有关如何实现这一目标的任何建议吗?

**编辑:我弄清楚我的问题是什么。该教程网站的特定IDE使其令人困惑。显然我打算达到列出的目标之一(并不像我之前想的那样在一个脚本中完成所有目标)。这是由return str.split( '' ).reverse( ).join( '' );完成的。分裂和连接方法的参数最初也有点令人困惑。这个方法的大多数在线教程都使用分词作为例子,所以我没有意识到从

开始

" """

会改变从反转单词到反转字母的过程。

5 个答案:

答案 0 :(得分:2)

数组有一个名为reverse( )的方法。该教程暗示着使用它。

要将字符串转换为字符数组(实际上它们只是单个字符串),您可以使用方法split( )将空字符串作为分隔符。

为了将数组转换回字符串,您可以再次使用方法join( ),并将空字符串作为参数。

使用这些概念,您将找到一种扭转字符串的常用解决方案。

function reverseString(str) {
    return str.split( '' ).reverse( ).join( '' );
}

答案 1 :(得分:0)

字符串是一个字符数组,因此您可以使用数组上的reverse函数将其反转,然后将其返回:

function reverseString(str) {
    return str.split('').reverse().join('');
}

答案 2 :(得分:0)

您可以在此处阅读更多内容:http://eddmann.com/posts/ten-ways-to-reverse-a-string-in-javascript/

function reverse(s) {
  var o = '';
  for (var i = s.length - 1; i >= 0; i--)
    o += s[i];
  return o;
}

答案 3 :(得分:0)

var reversedStr = normalStr.split("").reverse().join("");

答案 4 :(得分:0)

完成此操作的手动方式

var j = 'abcdefgh';
var k = j.split('');


var reversedArr = []
for(var i = k.length; i >= 0; i--) {
    reversedArr.push(k[i])
}

var reversedStr = reversedArr.join('')
console.log(reversedStr)