w3resource

JavaScript: Truncate a string if it is longer than the specified number of characters

JavaScript String: Exercise-16 with Solution

Write a JavaScript function to truncate a string if it is longer than the specified number of characters. Truncated strings will end with a translatable ellipsis sequence ("…") (by default) or specified characters.

Test Data:
console.log(text_truncate('We are doing JS string exercises.'))
console.log(text_truncate('We are doing JS string exercises.',19))
console.log(text_truncate('We are doing JS string exercises.',15,'!!'))
"We are doing JS string exercises."
"We are doing JS ..."
"We are doing !!"

Sample Solution:-

HTML Code:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JS truncates a string</title>
</head>
<body>
</body>
</html>

JavaScript Code:

text_truncate = function(str, length, ending) {
    if (length == null) {
      length = 100;
    }
    if (ending == null) {
      ending = '...';
    }
    if (str.length > length) {
      return str.substring(0, length - ending.length) + ending;
    } else {
      return str;
    }
  };
console.log(text_truncate('We are doing JS string exercises.'))
console.log(text_truncate('We are doing JS string exercises.',19))
console.log(text_truncate('We are doing JS string exercises.',15,'!!'))

Sample Output:

We are doing JS string exercises.
We are doing JS ...
We are doing !!

Flowchart:

Flowchart: JavaScript- Truncate a string if it is longer than the specified number of characters

Live Demo:

See the Pen JavaScript Truncate a string if it is longer than the specified number of characters - string-ex-16 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript function to humanized number (Formats a number to a human-readable string.) with the correct suffix such as 1st, 2nd, 3rd or 4th.
Next: Write a JavaScript function to chop a string into chunks of a given length.

What is the difficulty level of this exercise?



JavaScript: Tips of the Day

Creates a function that invokes fn with a given context, optionally adding any additional supplied parameters to the beginning of the arguments

Example:

const bind = (fn, context, ...boundArgs) => (...args) => fn.apply(context, [...boundArgs, ...args]);
function tips_greet(greeting, punctuation) {
  return greeting + ' ' + this.user + punctuation;
}
const w3r = { user: 'Owen' };
const w3rBound = bind(tips_greet, w3r);
console.log(w3rBound('hi', '!')); 

Output:

hi Owen!