反转字符串 [JS]
reverse string [JS]
别担心,我知道如何反转字符串(一个单词字符串:))
> function reverse(s){
> return s.split("").reverse().join(""); }
如何以这种方式反转字符串:
"Dady come home" -> "ydaD emoc emoh"
或:
('double spaced words') === 'elbuod decaps sdrow');
我今天花了这几个小时,因为我正在学习,如有任何帮助,我将不胜感激!谢谢!
并且请不要用代码写完整的回复。 :)我只是问一些提示。
使用捕获多个空白字符的正则表达式拆分字符串,例如 /(\s+)/
。您将拥有一个单词数组,您可以使用 Array.prototype.map(或循环)单独反转每个单词,然后使用 Array.prototype.join 获得最终结果。
首先,按space拆分,然后将每个单词反转
string.split` `.map(a=>[...a].reverse().join``).join` `
var string = "Dady come home";
console.log(string.split` `.map(a=>[...a].reverse().join``).join` `)
在每个 space word.split(' ')
处拆分句子
然后循环遍历每个单独的单词并颠倒它们的顺序 x.split('').reverse().join('');
(你已经知道了 :D)
为此,我使用了 .map()
——只是比 for 循环更简洁——欢迎随时了解有关 .map()
方法的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
一旦所有单词都被反转,将数组重新拼接成一个字符串 strArray.join(' ');
但使用空 space 重新连接它们。
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 );
别担心,我知道如何反转字符串(一个单词字符串:))
> function reverse(s){
> return s.split("").reverse().join(""); }
如何以这种方式反转字符串:
"Dady come home" -> "ydaD emoc emoh"
或:
('double spaced words') === 'elbuod decaps sdrow');
我今天花了这几个小时,因为我正在学习,如有任何帮助,我将不胜感激!谢谢!
并且请不要用代码写完整的回复。 :)我只是问一些提示。
使用捕获多个空白字符的正则表达式拆分字符串,例如 /(\s+)/
。您将拥有一个单词数组,您可以使用 Array.prototype.map(或循环)单独反转每个单词,然后使用 Array.prototype.join 获得最终结果。
首先,按space拆分,然后将每个单词反转
string.split` `.map(a=>[...a].reverse().join``).join` `
var string = "Dady come home";
console.log(string.split` `.map(a=>[...a].reverse().join``).join` `)
在每个 space word.split(' ')
然后循环遍历每个单独的单词并颠倒它们的顺序 x.split('').reverse().join('');
(你已经知道了 :D)
为此,我使用了 .map()
——只是比 for 循环更简洁——欢迎随时了解有关 .map()
方法的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
一旦所有单词都被反转,将数组重新拼接成一个字符串 strArray.join(' ');
但使用空 space 重新连接它们。
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 );