Hello all, I’m trying to pass Confirm The Ending challange with my own algorithm and I’m doing something wrong in my code but couldn’t find it. Could you give me a handle please? Thank you
function confirmEnding(str, target) {
let reverseStrArray = str.split("").reverse("");
let reverseTargetArray = target.split("").reverse("");
for (var i=0; i<reverseTargetArray.length;i++);{
if (reverseStrArray[i]!=reverseTargetArray[i]){
return false;
}
}
return true;
}
console.log(confirmEnding("Bastian", "an"));
For some reason you have a semi-colon at the end of your for loop declaration (before the {
. Git rid of that, because it is causing a major problem.
Basically, with the semi-colon there the for loop consists only of the declaration and so it finishes and i = 2
(the last value of i
after the i++
. Then, the code block between the {
and }
is executed which compares the 3rd element of reverseStrArray (which is i
) to the 3rd element of reverseTargetArray (which does not exist so it is the value undefined
). Those two are not equal, so the function returns false
.
1 Like