function reverse1(str) {
let r = "";
for (let i = str.length - 1; i >= 0; i--) {
r = str[i];
}
return r;
}
console.log(reverse1("I like this program very much"));
輸出:// hcum yrev margorp siht ekil I
但預期輸出:I ekil siht margorp yrev hcum
請問有人可以回答這個嗎....???
uj5u.com熱心網友回復:
遍歷原始字串并反轉單個單詞。
function reverseUtil(str) {
let r = "";
for (let i = str.length - 1; i >=0; i--) {
r = str[i];
}
return r;
}
function reverse1(str) {
let r = "", tmp = "";
for (let i = 0; i < str.length; i ) {
if (str[i] == ' ') {
r = reverseUtil(tmp) ' ';
tmp = "";
} else tmp = str[i];
}
// last word
r = reverseUtil(tmp);
return r;
}
console.log(reverse1("I like this program very much"));
uj5u.com熱心網友回復:
您正在反轉整個字串。如果要使用單個函式并假設字串僅包含空格,則可以遍歷字串的每個字符。
如果遇到空格,可以將其附加到結果中。如果遇到另一個字符,您可以將其添加到臨時字串以構建單詞的反向版本。
然后當下一個字符是空格或它是迭代中的最后一個字符時,將 word 的反轉版本附加到結果中。
function reverse1(str) {
let result = "", tmp = "";
for (let i = 0; i < str.length; i ) {
if (str[i] === ' ') {
result = ' '; continue;
}
tmp = str[i] tmp;
if (str[i 1] === undefined || str[i 1] === ' ') {
result = tmp; tmp = "";
}
}
return result;
}
console.log(reverse1("I like this program very much"));
console.log(reverse1(" I like this program very much "));
console.log(reverse1("abc"));
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/335593.html
標籤:javascript 细绳 逆转
上一篇:使用Python洗掉多余的行結尾
