如何使用 javascript 逐字反转字符串?
How to reverse word by word in a string using javascript?
我正在编写字符串中逐字反向的逻辑 javascript。
但我认为我的代码比较冗长,所以我正在寻找好的答案。
Ex :- I/p- Hi how are you // o/p- iH woh era uoy
function ReverseString(val) {
var op = "",
iCount = -1;
for (let i = 0; i <= val.length; i++) {
if (val[i] != " " && i != val.length)
continue;
for (let j = i - 1; j > iCount; j--)
op += val[j];
if (i != val.length)
op += " ";
iCount = i;
}
return op;
}
console.log(ReverseString("Hi how are you"));
一种方法是用空格将字符串拆分为一个单词数组,然后使用 map()
反转数组中的这些单词,如下所示:
function ReverseString(val) {
return val.split(/\s/g).map(w => w.split('').reverse().join('')).join(' ');
}
console.log(ReverseString("Hi how are you"));
一种方法是使用 split()
将数组中的单词分开
然后对于每个单词,拆分字母并使用反向函数重新连接它们。
至少,重新加入这个词
const str = "Hi how are you";
let str_reversed = str.split(' ');// put each word in an array
str_reversed = str_reversed.map(word => word.split('').reverse().join('')); // for each word, we put each letter in array, reverse them and then re-join them
str_reversed = str_reversed.join(' '); // rejoin the word
console.log(str_reversed);
一个单行解决方案来反转每个单词保持顺序:
var original = 'Hi how are you';
var reversed = original.split("").reverse().join("").split(" ").reverse().join(" ")
o/p: "iH woh era uoy"
let str = 'Hi how are you';
let reverse = str
.split("")
.reverse()
.join("")
.split(" ")
.reverse()
.join(" ")
);
你的解决方案。
<script>
rev=(val)=>{
return val.split("").reverse().join("").split(" ").reverse().join(" ")
}
console.log(rev('Hi how are you'))
</script>
我正在编写字符串中逐字反向的逻辑 javascript。
但我认为我的代码比较冗长,所以我正在寻找好的答案。
Ex :- I/p- Hi how are you // o/p- iH woh era uoy
function ReverseString(val) {
var op = "",
iCount = -1;
for (let i = 0; i <= val.length; i++) {
if (val[i] != " " && i != val.length)
continue;
for (let j = i - 1; j > iCount; j--)
op += val[j];
if (i != val.length)
op += " ";
iCount = i;
}
return op;
}
console.log(ReverseString("Hi how are you"));
一种方法是用空格将字符串拆分为一个单词数组,然后使用 map()
反转数组中的这些单词,如下所示:
function ReverseString(val) {
return val.split(/\s/g).map(w => w.split('').reverse().join('')).join(' ');
}
console.log(ReverseString("Hi how are you"));
一种方法是使用 split()
将数组中的单词分开然后对于每个单词,拆分字母并使用反向函数重新连接它们。
至少,重新加入这个词
const str = "Hi how are you";
let str_reversed = str.split(' ');// put each word in an array
str_reversed = str_reversed.map(word => word.split('').reverse().join('')); // for each word, we put each letter in array, reverse them and then re-join them
str_reversed = str_reversed.join(' '); // rejoin the word
console.log(str_reversed);
一个单行解决方案来反转每个单词保持顺序:
var original = 'Hi how are you';
var reversed = original.split("").reverse().join("").split(" ").reverse().join(" ")
o/p: "iH woh era uoy"
let str = 'Hi how are you';
let reverse = str
.split("")
.reverse()
.join("")
.split(" ")
.reverse()
.join(" ")
);
你的解决方案。
<script>
rev=(val)=>{
return val.split("").reverse().join("").split(" ").reverse().join(" ")
}
console.log(rev('Hi how are you'))
</script>