這是我第一個問題,當我開始我的編程之旅時堆棧溢出,所以我歡迎任何有關改進我的問題提問或研究技巧的建議。替代字符串長度屬性
我想弄清楚如何確定字符串的長度,而不使用.length。相反,我被允許使用稱爲切片的字符串方法,並且問題在我構建遞歸代碼時要求考慮索引。
我的做法是通過向後來解決這個沒有上述限制性第一的最簡單的方式思考想到這一點:
function stringLength (string) {
return string.length;
}
stringLength("Goodbye"); // This would invoke 7.
如果我再利用.slice方法和檢驗指標:
"Goodbye".slice(0); // This would invoke "Goodbye".
"Goodbye".slice(7); // This would invoke "".
因此獲得字符串的長度,我也可以嘗試來確定,以調用「」或試圖找到最後一個字符的字符串中的指標,我將不得不「片」的字符數加1.
以下是我迄今爲止的想法,但不確定我是否會朝着正確的方向前進,並且我不知道我的其他陳述中應該發表什麼意見 - 任何建議或建議?
function stringLength (string) {
var index = 0; // I'm pretty sure this is wrong!
// My base case establishes that if the index number within the slice method invokes nothing, that index number is the length of the string
if (string.slice(index) === "") {
return index;
// Otherwise, cycle through the function until the index number is correct.
} else {
return string.slice(index + 1);
}
}
您還可以循環字符串,並計算每個迭代。但我可以問爲什麼你不使用'.length'屬性? –
.slice採用兩個參數開始和結束,但如果您省略第二個參數,則認爲它是最後一個索引。看看http://www.w3schools.com/jsref/jsref_slice_string.asp爲什麼你不願意使用長度屬性。 – Manish
@Mr_Green這是我做這個學習課程時的練習的一部分。我個人對.length屬性非常熟悉,但這個練習鼓勵我們在盒子外面思考並利用遞歸。 – misteryeo