Hello! Why if the given maximum string length num <= 3, then the addition of “…” not add to the string length in determining the truncated string?
Look, for example we have truncateString(“Absolutely Longer”, 2), so the num =2, 2<3, ok. Then we get “Ab”, because of .slice(0,2). But if we add 3 dots, the length’ll be 5, not 2. Who invented the rule which goes “if num <= 3, so the 3 dots won’t be counted”?
The lesson says not to count the extra added “…” 3 characters toward the truncated string length.
This means this.
If you have “0123456789”, a string length of 10.
And you put a limit of 7 on it It will become “0123456”.
Now add your trailing dots and you will get “0123456…” which has a length of 10 again.
Nothing has been accomplished. We want the length of our string to be 7 characters after the truncate, so we take our truncate tail and subtract it’s length from the length of our limit.
string.slice(0, 7-3).concat("...");
Now we get “0123…”
The lesson is asking us to reduce a string to a limiter and indicate that the string was reduced with trailing dots.
Now if we did this calculation if the limit was 3, well we’d just end up with “…” because 3 - 3 is an empty string plus “…”.
I think the challenge was changed later to avoid that confusion. Now the dots are not included in the string limit. At least I think that seeing the codes in the guide to solve the challenge