我试图解决这个算法,但一开始就没有定义。有人能解释为什么会发生这种事吗?这样我就可以解决它了?
//给定一个字符串S,反转该字符串而不反转其单个单词。单词用点分隔。
function reverseStr(str){
newStr="";
for(var i=str.length;i>=0;i--){
newStr+=str[i];
}
console.log(newStr);
}
reverseStr("hcum.yrev.margorp.siht.ekil.i");
输出:undefinedi.like.this.program.very.much
试试这个代码
function reverseString(str) {
Let newString = "";
for (let i = str.length - 1; i >= 0; i--) {
newString += str[i];
}
return newString; // "olleh"
}
reverseString('hello');
字符串的索引从0开始,因此最后一个索引比字符串的长度小1。这意味着您应该执行var i=str.length-1
而不是var i=str.length
。