-
-
Save jonurry/ef3d28f16ba1e6ec6693a0777af52ad9 to your computer and use it in GitHub Desktop.
function countBs(s) { | |
var count = 0; | |
for (var i = 0; i < s.length; i += 1) { | |
if (s.charAt(i) === "B") | |
count += 1; | |
} | |
return count; | |
} | |
function countChar(s, c) { | |
var count = 0; | |
for (var i = 0; i < s.length; i += 1) { | |
if (s.charAt(i) === c) | |
count += 1; | |
} | |
return count; | |
} | |
console.log(countBs("BBC")); | |
// → 2 | |
console.log(countChar("kakkerlak", "k")); | |
// → 4 |
hey! not sure if you will see this but may i ask why the counter has to be written outside of the for loop? i got it wrong cause my counter was inside the for loop :(
^ referring to var count = 0;
Hey @umpavi
If you declare the count variable within the for loop then it will reset to zero with every iteration of the loop.
By declaring count outside the for loop and setting the initial value to zero it can be incremented within the loop.
It's all about scope
.
Variables declared within a code block (e.g. the for loop) have a different scope to those declared outside the block.
Thank you so much for that clarification. I understand it now and I really appreciate it! I'm new to JS and programming in general, and I don't really know people I can ask for help when I'm stuck so it's really nice to see people out there who are willing to help! Thank you and have a great day!
function countChar(s, c) {
var count = 0;
for (var i = 0; i < s.length; i += 1) {
if (s.charAt(i) === c)
count += 1;
}
return count;
}
function countBs(s){
return countChar(s,"B");
}
console.log(countBs("BBC"));
// → 2
console.log(countChar("kakkerlak", "k"));
// → 4
thanks man, needed that. especially the countBs. Cuz in the solution it was already rewritten.