我正在通过教程编写代码(我在这方面相当新),而这个特殊的练习让我大脑筋疲力尽。以下是参数:
反转提供的字符串。 您可能需要先将字符串转换为数组,然后才能将其反转。您的结果必须是字符串。
以下是我给出的代码:
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( '' );
完成的。分裂和连接方法的参数最初也有点令人困惑。这个方法的大多数在线教程都使用分词作为例子,所以我没有意识到从
" "
至""
会改变从反转单词到反转字母的过程。
答案 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)