新手程序員在這裏,我試圖在目標是向後打印一個字符串的練習。這裏是我的代碼:JavaScript的循環將不會迭代
function firstReverse(str) {
for(var i=str.length - 1; i >= 0;i --) {
return(str[i]);
}
};
firstReverse("riyad");
我一直得到字母「d」的返回,但不是整個字符串。不知道這裏有什麼問題嗎?請幫忙!
新手程序員在這裏,我試圖在目標是向後打印一個字符串的練習。這裏是我的代碼:JavaScript的循環將不會迭代
function firstReverse(str) {
for(var i=str.length - 1; i >= 0;i --) {
return(str[i]);
}
};
firstReverse("riyad");
我一直得到字母「d」的返回,但不是整個字符串。不知道這裏有什麼問題嗎?請幫忙!
你可以試試這個:
function firstReverse(str) {
for(var i=str.length - 1; i >= 0;i --) {
console.log(str[i]);
}
};
我不斷收到字母「d」的迴歸,而不是整個字符串
這是合理的,你拿這個輸出,因爲您的代碼第一次進入for語句時,由於return
語句,它將從該語句退出。換句話說,你的陳述只會在第一步執行。
function firstReverse(str) {
for(var i=str.length - 1; i >= 0;i --) {
document.write(str[i]);
}
};
firstReverse("riyad");
的問題是,回報聲明打破你的循環和返回的第一個字母就愈大。
如果您想要反轉一個字符串 - 您可以嘗試將其轉換爲數組,將其反轉並將新數組的元素連接回字符串。我認爲它是一個簡單的解決方案下面是一段代碼:
function reverse(str) {
return str.split('').reverse().join('');
}
console.log(reverse('abc'));
第一回後,你離開的功能。當你執行'return'時,該方法被放棄,之後沒有其他任何執行。 – 2015-02-09 18:12:47
你需要看看'return'函數的作用。這是你問題的關鍵。 – scrappedcola 2015-02-09 18:13:04
是的,你的函數在第一次迭代中返回,所以你只會得到最後一個字母。你不能有一個返回語句,因爲它立即退出函數。將答案保存在變量中,然後在for循環之後返回變量。 – 2015-02-09 18:13:46