Solve - trim is not a function Error in JavaScript

avatar

Borislav Hadzhiev

Wed Oct 20 20212 min read

Solve - trim is not a function Error #

The "trim is not a function" error occurs when we call the trim() method on a value that is not a string. To solve the error, convert the value to a string using the toString() method or make sure to only call the trim method on strings.

typeerror trim is not a function

Here is an example of how the error occurs.

index.js
const arr = [' hey ', ' there ']; // โ›”๏ธ TypeError: trim is not a function arr.trim();

We called the String.trim method on an array and got the error back.

To solve the error, make sure to only call the trim() method on strings. You can convert most values to a string by using the toString() method.

index.js
const str = ' hello '; const result = str.trim(); console.log(result); // ๐Ÿ‘‰๏ธ "hello"

Alternatively, you can check if the value is a string before calling the trim() method.

index.js
const str = null; const result = typeof str === 'string' ? str.trim() : ''; console.log(result); // ๐Ÿ‘‰๏ธ ""

We used a ternary operator to check if the str variable stores a string.

If it does, the value to the left of the comma is returned, otherwise the value to the right is returned.

If the value is a string, we return the result from calling the trim method on it, otherwise we return an empty string to be consistent.

If you want to trim all strings in an array, use the map method to iterate over the array and call the trim method on each string.

index.js
const arr = [' hey ', ' there ']; const result = arr.map(str => str.trim()); // ๐Ÿ‘‡๏ธ ['hey', 'there'] console.log(result);
The map method takes a function and calls the function on each element in the array. On each iteration, we call the trim method to trim the whitespace from the beginning and end of each string.

If the error persists, console.log the value you're calling the trim method on and check it's type using the typeof operator.

If the value is an object, there's a very good chance that you are forgetting to access a specific property on which you need to call the trim() method.

Join my newsletter

I'll send you 1 email a week with links to all of the articles I've written that week

Buy Me A Coffee