在 JS 中反转字符串

Reverse a String in JS

我正在学习编码教程(我在这方面还很陌生),这个特别的练习让我绞尽脑汁。以下是参数:

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

这里是我得到的开始代码:

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( '' ); 完成的。 split 和 join 方法的参数起初也有点混乱。这个方法网上的教程大多都是以分词为例,所以没意识到从

" """

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

一个字符串是一个字符数组,所以你可以在数组上使用reverse函数来反转它然后return它:

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

您可以在此处阅读更多内容: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;
}
var reversedStr = normalStr.split("").reverse().join("");

完成此操作的非常手动的方法

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)

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

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

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

使用这些概念,您将找到反转字符串的通用解决方案。

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