Javascript如何反转空格分隔的字符串

Javascript如何反转空格分隔的字符串,javascript,Javascript,下面的代码应该反转句子中的所有字符,但它不能这样做。这对我来说是儿戏,但目前还不是。有人能解决这个问题吗 比如说: “聪明的极客是快速的编码者” 以下代码应按如下方式反转上述字符串: “有轨电车斯凯格时代tsaf sredoc” 函数解{ var结果=假; 如果(S.length==1){ 结果=S; } 如果(S.length>1和S.length

下面的代码应该反转句子中的所有字符,但它不能这样做。这对我来说是儿戏,但目前还不是。有人能解决这个问题吗

比如说:

“聪明的极客是快速的编码者”

以下代码应按如下方式反转上述字符串:

“有轨电车斯凯格时代tsaf sredoc”

函数解{
var结果=假;
如果(S.length==1){
结果=S;
}
如果(S.length>1和S.length<100){
var wordsArray=S.split(“”),
wordsCount=WordsRay.length,
reverseWordsString='';
对于(变量i=0;i0){
reverseWordsString=reverseWordsString+“”;
}
reverseWordsString=reverseWordsString+wordsAray[i]。拆分(“”)。反向()连接(“”);
}
结果=reverseWordsString;
}
返回结果;
}
功能反转记录{
var arr=s.split(“”);
s='';
对于(i=0;i

这不适合你吗?基本上,它只是通过在空间上拆分字符串将其转换为数组。然后它在数组上循环,将每个反转的字符串添加到一个新字符串,然后将其转换为小写。为了获得更快的速度(您不会注意到),您可以在循环后调用
newStr.toLowerCase()
,这样它将执行一次而不是每次。

这将为您提供所需的结果

function reverseWords(s) {
  return s.replace(/[a-z]+/ig, function(w){return w.split('').reverse().join('')});
}

你应该期望其他人在回答问题时投入的精力和你在回答问题时投入的精力一样多,而现在这几乎是徒劳的。您至少可以格式化您的代码,使其可读,您需要使它尽可能容易为别人回答!你试过运行代码吗?如果是,您会收到什么错误消息?
wordsArray
wordsAray
不同。在浏览器中打开调试控制台并读取错误消息。是的,我尝试过它不打印任何内容(10位),这是打字错误sergiu@Age:谢谢。下次我会记住这一点。我感谢你的帮助。谢谢Snorlax,但这并不令人满意。@AbhishekDalakoti它能完成任务,对吗?它更容易阅读,代码更少,您所需要做的就是将其放入函数中。@AbhishekDalakoti查看我的编辑。我把它放到了一个函数中。与我的答案相比,DigiDamsel的答案“看起来不错”吗?老实说,我怀疑你甚至不知道他的工作。@是的,我是哑巴先生。我什么都不知道。谢谢。这看起来不错。让我试试。@AbhishekDalakoti请务必接受最有用的答案,以便未来的读者可能会发现你的问题更有用。我会这样做。很高兴我能提供帮助,是的,正则表达式对于这样的问题是一个很好的解决方案:)
function reverseWords(s) {
    var arr = s.split(" ");
    s = '';
    for(i = 0; i < arr.length; i++) {
        s += arr[i].split('').reverse().join('').toLowerCase() + " ";
    }
    return s;
}
function reverseWords(s) {
  return s.replace(/[a-z]+/ig, function(w){return w.split('').reverse().join('')});
}