Tell us what’s happening:
i have no idea why it doesn’t work !
Your code so far
function confirmEnding(str, target) {
// "Never give up and good luck will find you."
// -- Falcor
var nwstr = str.split("");
if ( str.substr(nwstr.length-1-target.length , nwstr.length-1 ) === target)
{
return true;
}
return false;
}
confirmEnding("Bastian", "n");
Your browser information:
Your Browser User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
.
Link to the challenge:
https://www.freecodecamp.org/challenges/confirm-the-ending
You’re misunderstanding how to use substr. The first argument is the starting point. Your math is a bit off there. And the second argument is the is the length you want to select. Isn’t the length you want to select the length of the target?
1 Like
This says you’re looking for a property literally called “length-1-target”. You need to review using square brackets to access properties, eg someStr[someStr.length - 1]
1 Like
No, it evaluates to the same as nwstr.length - 1 - target.length
. To access property names containing hyphens, you need to use bracket notation.
const obj = {
'a': 0,
'a-1': 0
}
obj.a-1 //=> -1
obj['a-1'] //=> 0
1 Like
You do not use split() because String object has length property.
You omit -1 in the expression.
1 Like
Ah crap, you’re right I was half asleep this morning.
Thanks! i’ve done it, a little confuse at first argument 
Thanks! you were right, i used to think the second argument was the ending point 