繁体   English   中英

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

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

我试图解决以下问题,但没有成功:

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

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

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

地图功能在那里做什么?

它遍历通过拆分初始字符串创建的数组,并调用我们为每个元素提供的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));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM