这是我的任务:
到目前为止,您应该已经使用了字符串的length属性,例如“ hello” .length。您的任务是编写一个名为stringLength的函数,该函数接受字符串作为参数并计算该字符串的长度。但是,正如您可能已经猜到的那样,不允许您使用字符串的length属性!
相反,您需要使用称为slice的字符串方法。
就我们的目的而言,我们可以将slice视为一个参数-从其开始进行切片的索引,并从该索引开始返回一个新字符串。
这是我尝试的:
function stringLength(string){
var count = count++;
if(string.slice(0)){
return count}
return stringLength(string.slice(0,-1))
}
console.log(stringLength("game"))
我正在尝试将字符串的每个字符切回起始索引,索引0,然后累积我的count变量。我不明白为什么我的计数变量没有累积。
最佳答案
迭代提案。
function stringLength(string) {
var count = 0;
while (string) {
string = string.slice(1);
count++;
}
return count;
}
console.log(stringLength("game"));
递归建议。
function stringLength(string) {
return string ? 1 + stringLength(string.slice(1)) : 0;
}
console.log(stringLength("game"));