Truncate a String - JavaScript Solution & Walkthrough
(08/16) Learn how to solve coding challenges using FreeCodeCamp's curriculum.
08/16 Truncate a String
Truncate a string (first argument) if it is longer than the given maximum string length (second argument). Return the truncated string with a
...
ending.
function truncateString(str, num) {
return str;
}
truncateString("A-tisket a-tasket A green and yellow basket", 8);
Credit: FreeCodeCamp.org
Understanding the Challenge
In this challenge, you'll be given a string (str) and a number (num). Your task is to complete the function such that
it checks whether the string is longer than the given number. If it is, then the function should truncate str
at the point where the length is equal to num
. And then add the three dots ...
to it.
For example given a string "abcde"
and a number 3
, the function should return abc...
If the length of str
is equal to or less than num
, then we should return the string just as it is.
Pseudocode
Given a string and a number
compare length of string and number
if length of string is less than or equal to number
return string just as it is
if length of string is greater than number
truncate string to have equal length of number
return truncated string with "..." added at the end
Solving the Challenge
First we need to compare the length of the given string and the number. If the length of the string is less than
or equal to num str.length <= num
, the function should return string just as it has been given.
if (str.length <= num) {
return str
}
However, if the length of the string is greater than the given number, then the function should truncate the string
to be equal to the given maximun string length str.length > num
. The function should also add ...
to the end.
To truncate the string, we can use the .substring()
method. This method helps us to extract part of a string.
It takes two arguments. The first argument is where the extraction should begin. The second argument is where it should end.
In the case of the truncateString
function, the extraction will begin at first character of the string (0) and end at the
character at the index of num
.
str.substring(0, num) + "..."
Final Solution
function truncateString(str, num) {
if (str.length <= num) {
return str
} else {
return str.substring(0, num) + "..."
}
}
truncateString("A-tisket a-tasket A green and yellow basket", 8); // A-tisket...
Congratulations!
You just cracked the eighth challenge in this series.
Cheers and happy coding!