5

我正在尝试解决以下问题但没有成功:

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 现在表示数组中的每个单词。我现在需要反转的不是单词的顺序,而是每个单词的每个字母的顺序。

4

5 回答 5

16
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”

于 2013-08-22T14:18:00.153 回答
8

您可以使用Array.prototype.mapand来执行此操作Array.prototype.reverse

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

地图功能在那里做什么?

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

于 2013-08-22T14:17:47.953 回答
0

您可以执行以下操作:

let stringToReverse = "tpircsavaJ";

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

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

于 2016-02-03T20:43:51.207 回答
0

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

于 2021-03-19T02:53:23.153 回答
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;
于 2016-03-14T20:07:37.083 回答