DEV Community

Bukunmi Odugbesan
Bukunmi Odugbesan

Posted on

Coding Challenge Practice - Question 110

The task is to implement String.prototype.trim().

The boilerplate code

function trim(str) {
  // your code here
}
Enter fullscreen mode Exit fullscreen mode

Initialise pointers to move inwards till they hit a whitespace

let start = 0;
let end = str.length - 1;

Enter fullscreen mode Exit fullscreen mode

Trim leading whitespace

while (start <= end && /\s/.test(str[start])) {
  start++;
}
Enter fullscreen mode Exit fullscreen mode

\s matches all types of whitespace characters - spaces, tabs, newlines.

Trim ending whitespace

while (end >= start && /\s/.test(str[end])) {
  end--;
}
Enter fullscreen mode Exit fullscreen mode

Extract the trimmed string

return str.slice(start, end + 1);
Enter fullscreen mode Exit fullscreen mode

The final code

function trim(str) {
  // your code here
  let start = 0;
  let end = str.length - 1;

  while(start <= end && /\s/.test(str[start])) {
    start++;
  }

  while(end >= start && /\s/.test(str[end])) {
    end--;
  }
  return str.slice(start, end + 1) 
}
Enter fullscreen mode Exit fullscreen mode

That's all folks!

Top comments (0)