DEV Community

Ajay Marathe
Ajay Marathe

Posted on

Create JS function to remove spaces from giving string. ( Using core js and not in-built trim function.)

const trim = (string) => {
    let strArr = string.split("");
    let trimedStr = [];
    strArr.forEach((item) => {
      if (item !== " ") {
        trimedStr.push(item);
      }
    });
    return trimedStr.join("");
  };

  console.log("trim", trim("Hello world nice world"));
 // output => trim: Helloworldniceworld
Enter fullscreen mode Exit fullscreen mode

Problem Explanation

Let's break down the problem in simple terms:

You have a piece of code that defines a function called trim. The purpose of this function is to remove all the spaces from a given string. In other words, if you pass a sentence with spaces into this function, it will return the same sentence but with all the spaces removed.

How the Function Works:

  1. Splitting the String: The function starts by taking the input string (e.g., "Hello world nice world") and splits it into an array of individual characters. For example, "Hello world" becomes ['H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']...

  2. Filtering Out Spaces: The function then goes through each character in the array. If the character is not a space (' '), it adds it to a new array called trimedStr. If it is a space, it simply skips it.

  3. Rejoining the Characters: After filtering out the spaces, the function takes the remaining characters and joins them back together into a single string without any spaces.

  4. Returning the Result: Finally, the function returns the new string that has no spaces.

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (4)

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ β€’ β€’ Edited

Filtering out spaces is not what trim does. It will remove leading and trailing whitespace.

There is also an issue with the way you're splitting the string. Try your code with a string containing emojis - it will break. A better, although still not perfect version of your code would be:

const trim = string => {
  let trimmedStr = '';
  [...string].forEach(char => trimmedStr += char!= ' ' ? char: '')
  return trimmedStr
}

console.log("trim", trim("Hello world nice world"))
// output => trim: Helloworldniceworld

console.log("trim", trim("Hello world nice πŸ™‚world"))
// output => trim: HelloworldniceπŸ™‚world
Enter fullscreen mode Exit fullscreen mode
Collapse
 
ajaymarathe profile image
Ajay Marathe β€’

Thanks for the explanation, appreciated your response πŸ™‚

Collapse
 
jonrandy profile image
Jon Randy πŸŽ–οΈ β€’ β€’ Edited

A better route overall is probably using replace on the string though.

Thread Thread
 
ajaymarathe profile image
Ajay Marathe β€’

Cool, got it, thanks, keep looking my other posts and future post too, and do suggest the different approaches πŸ™‚βœŒοΈ

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

πŸ‘‹ Kindness is contagious

Please leave a ❀️ or a friendly comment on this post if you found it helpful!

Okay