JavaScript颠倒字符串中每个单词的字母顺序

JavaScript reverse the order of letters for each word in a string

本文关键字:单词 顺序 字符串 JavaScript      更新时间:2023-09-26

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

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];
}

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

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"

您可以使用Array.prototype.mapArray.prototype.reverse这样做。

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

map函数在那里做什么?

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

您可以执行以下操作:

let stringToReverse = "tpircsavaJ";
stringToReverse.split("").reverse().join("").split(" ").reverse().join(" ")

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

您可以执行以下操作。

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;

使用正则表达式进行JavaScript拆分:

注意(['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));