JavaScript反转字符串中每个单词的字母顺序

时间:2013-08-22 14:11:55

标签: javascript

我试图绕过以下但没有成功:

var string = "erehT era a tsav rebmun fo secruoser rof gninrael erom tpircsavaJ";

var x = string.split(" ");
for(i=0; i<=x.length; i++){
    var element = x[i];
}

元素现在表示数组中的每个单词。我现在需要反转单词的顺序,而不是每个单词的每个字母的顺序。

5 个答案:

答案 0 :(得分:13)

var string = "erehT era a tsav rebmun fo secruoser rof gninrael erom tpircsavaJ";
// you can split, reverse, join " " first and then "" too
string.split("").reverse().join("").split(" ").reverse().join(" ")

输出:“有大量资源可用于学习更多Javascript”

答案 1 :(得分:7)

您可以使用Array.prototype.mapArray.prototype.reverse完成此操作。

var result = string.split(' ').map(function (item) {
    return item.split('').reverse().join('');
}).join(' ');
  

地图功能在那里做什么?

它遍历通过拆分初始字符串创建的数组,并调用我们提供的function (item)作为每个元素的参数。然后它获取该函数的返回值并将其推入新数组中。最后它返回新数组,在我们的例子中,它按顺序包含反转的单词。

答案 2 :(得分:0)

您可以执行以下操作:

let stringToReverse = "tpircsavaJ";

stringToReverse.split("").reverse().join("").split(" ").reverse().join(" ")

// let关键字允许您在新的ECMAScript(JavaScript)中声明变量

答案 3 :(得分:0)

您可以执行以下操作。

var string = "erehT era a tsav rebmun fo secruoser rof gninrael erom tpircsavaJ";

arrayX=string.split(" ");
arrayX.sort().reverse();
var arrayXX='';
arrayX.forEach(function(item){
items=item.split('').sort().reverse();
arrayXX=arrayXX+items.join('');
});
document.getElementById('demo').innerHTML=arrayXX;

答案 4 :(得分:0)

JavaScript 用 regular expression 分割:

注意([\s,.]) 捕获组匹配空格、逗号和句点。

const string = "oT eb ro ton ot eb, taht si a noitseuq.";

function reverseHelper(str) {
  return str.split(/([\s,.])/).
  map((item) => {
    return item.split``.reverse().join``;
  }).join``;
}

console.log(reverseHelper(string));