别担心我知道如何反转字符串(一个字符串:))
> function reverse(s){
> return s.split("").reverse().join(""); }
如何以这种方式反转字符串:
"Dady come home" -> "ydaD emoc emoh"
或:
('double spaced words') === 'elbuod decaps sdrow');
我今天花了几个小时,因为我正在学习,任何帮助我都会得到满满的!谢谢!
请不要用代码写完整回复。 :)我只是想要一些提示。
答案 0 :(得分:0)
使用捕获多个空格字符的正则表达式拆分字符串,例如/(\s+)/
。您将拥有一个单词数组,您可以使用Array.prototype.map(或循环)单独反转每个单词,然后使用Array.prototype.join获取最终结果。
答案 1 :(得分:0)
首先,按空格分割然后反转每个单词
string.split` `.map(a=>[...a].reverse().join``).join` `
var string = "Dady come home";
console.log(string.split` `.map(a=>[...a].reverse().join``).join` `)
答案 2 :(得分:0)
在每个空格word.split(' ')
然后循环浏览每个单词并反转它们的顺序x.split('').reverse().join('');
(你已经想到的东西:D)
我使用了.map()
- 比for循环更简洁 - 随时可以在https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
.map()
方法的更多信息
一旦所有单词都被反转,将数组重新拼接成一个字符串strArray.join(' ');
,但使用空格重新连接它们。
var str1 = "Hello";
var str2 = "Daddy come home";
var str3 = "double spaced words";
function reverseWords( word ){
let output = '';
// split the words based on spaces
let subStrArray = word.split(' ');
// reverse each word
let updatedStrArray = subStrArray.map( (x) => {
let result = '';
if( x ){
result = x.split('').reverse().join('');
}
return result;
});
// stitch back together as a string
output = updatedStrArray.join(' ');
console.log( output );
return output;
}
let rev1 = reverseWords( str1 );
let rev2 = reverseWords( str2 );
let rev3 = reverseWords( str3 );
// making sure things can go forwards and backwards ...
reverseWords( rev1 );
reverseWords( rev2 );
reverseWords( rev3 );