Javascript 大于一定长度的反向字符串

Javascript 大于一定长度的反向字符串,javascript,Javascript,我正在解决一个问题,我需要能够反转一个句子,但只有大于4的单词才能反转。其余的单词必须与原来的单词相同。我试着检查长度是否大于4,但这并没有返回我想要的结果。我所需要做的就是把句子中大于4的单词颠倒过来。非常感谢您的帮助 编辑:以下是我知道如何做的简单内容。它颠倒了整个句子。我确信需要有某种方法来分解每个单词,确定单词的长度,然后把句子重新组合起来,但我不知道该怎么做 var sentence = "This could be the answer I need"; if (sentence.

我正在解决一个问题,我需要能够反转一个句子,但只有大于4的单词才能反转。其余的单词必须与原来的单词相同。我试着检查长度是否大于4,但这并没有返回我想要的结果。我所需要做的就是把句子中大于4的单词颠倒过来。非常感谢您的帮助

编辑:以下是我知道如何做的简单内容。它颠倒了整个句子。我确信需要有某种方法来分解每个单词,确定单词的长度,然后把句子重新组合起来,但我不知道该怎么做

var sentence = "This could be the answer I need";

if (sentence.length > 4) {
 console.log( sentence.split('').reverse().join(''));
}

谢谢你

你还没有向我们展示你的源代码,所以很难知道你做了多少。我不想仅仅给您代码,因此没有机会学习如何将其组合在一起,我建议您研究以下事项:

  • String split()方法,可用于将句子拆分为数组中的单个单词

  • 研究如何在for循环中迭代字符串数组,查找长度大于4个字符的字符串

  • 了解如何在原位反转字符串-请参阅。仅将此应用于大小正确的字符串。确保用arry中的反向字符串替换原始字符串

  • 然后了解Array join()方法的工作原理


如果我的描述过于简单,我很抱歉——但从你的问题中很难理解你有多需要把它说清楚。希望这会有帮助。

您还没有向我们展示您的源代码,因此很难知道您已经做了多少。我不想仅仅给您代码,因此没有机会学习如何将其组合在一起,我建议您研究以下事项:

  • String split()方法,可用于将句子拆分为数组中的单个单词

  • 研究如何在for循环中迭代字符串数组,查找长度大于4个字符的字符串

  • 了解如何在原位反转字符串-请参阅。仅将此应用于大小正确的字符串。确保用arry中的反向字符串替换原始字符串

  • 然后了解Array join()方法的工作原理


如果我的描述过于简单,我很抱歉——但从你的问题中很难理解你有多需要把它说清楚。希望这会有帮助。

您还没有向我们展示您的源代码,因此很难知道您已经做了多少。我不想仅仅给您代码,因此没有机会学习如何将其组合在一起,我建议您研究以下事项:

  • String split()方法,可用于将句子拆分为数组中的单个单词

  • 研究如何在for循环中迭代字符串数组,查找长度大于4个字符的字符串

  • 了解如何在原位反转字符串-请参阅。仅将此应用于大小正确的字符串。确保用arry中的反向字符串替换原始字符串

  • 然后了解Array join()方法的工作原理


如果我的描述过于简单,我很抱歉——但从你的问题中很难理解你有多需要把它说清楚。希望这会有帮助。

您还没有向我们展示您的源代码,因此很难知道您已经做了多少。我不想仅仅给您代码,因此没有机会学习如何将其组合在一起,我建议您研究以下事项:

  • String split()方法,可用于将句子拆分为数组中的单个单词

  • 研究如何在for循环中迭代字符串数组,查找长度大于4个字符的字符串

  • 了解如何在原位反转字符串-请参阅。仅将此应用于大小正确的字符串。确保用arry中的反向字符串替换原始字符串

  • 然后了解Array join()方法的工作原理


如果我的描述过于简单,我很抱歉——但从你的问题中很难理解你有多需要把它说清楚。希望这有帮助。

最简单的方法是执行以下操作: 在空格上拆分字符串。()

使用forEach函数循环遍历每个元素,如果长度大于4()


然后使用join完成,将数组的所有元素放入字符串()

最简单的方法是执行以下操作: 在空格上拆分字符串。()

使用forEach函数循环遍历每个元素,如果长度大于4()


然后使用join完成,将数组的所有元素放入字符串()

最简单的方法是执行以下操作: 在空格上拆分字符串。()

使用forEach函数循环遍历每个元素,如果长度大于4()


然后使用join完成,将数组的所有元素放入字符串()

最简单的方法是执行以下操作: 在空格上拆分字符串。()

使用forEach函数循环遍历每个元素,如果长度大于4()


然后使用join将数组的所有元素放入一个字符串()

使用正则表达式匹配至少5个字符的单词,并替换为反向字符:

var s = "I am working on a problem where I need to be able to reverse a sentence but only words that are greater than 4 can be reversed.";

s2 = s.replace(/\b(\w\w\w\w\w+)\b/g, function(word) {
    return word.split("").reverse().join("");
});

console.log(s2);
产出:

I am gnikrow on a melborp erehw I need to be able to esrever a ecnetnes but only sdrow that are retaerg than 4 can be desrever. 

使用正则表达式匹配至少5个字符的单词,并替换为反向字符:

var s = "I am working on a problem where I need to be able to reverse a sentence but only words that are greater than 4 can be reversed.";

s2 = s.replace(/\b(\w\w\w\w\w+)\b/g, function(word) {
    return word.split("").reverse().join("");
});

console.log(s2);
产出:

I am gnikrow on a melborp erehw I need to be able to esrever a ecnetnes but only sdrow that are retaerg than 4 can be desrever. 

使用正则表达式匹配至少5个字符的单词
function reverseString(s){
  return s.split(' ').
      map( v => { 
         return v.length > 4 ?  v.split('').
         reverse().join('') : v; 
      } ).join(' ');  

}
function reverseString(string){
  return string.replace(/\w{5,}/g, function(w) { return w.split('').reverse().join('') })
}