Удаление пробелов в строке в начале и в конце

Задача: не используя регулярные выражения, не используя метод trim, написать функцию которая удаляет пробелы вначале и в конце строки. Пробовал так, но удаляет все пробелы


function deleteSpace(string){
  let newStr = "*";

  for(elem of string){
    if(elem !== " "){
      newStr = newStr + elem;
    }
  };
  return newStr + "*";
}

console.log(deleteSpace(str))

Ответы (2 шт):

Автор решения: Zhihar

вариант 1:

while (string[0] == ' ')
    string = string.substr(1);
    
while (string[string.length - 1] == ' ')
    string = string.substr(0, string.length - 1);

вариант 2 (в принципе то же самое, но без заморочки и индекса):

while (string.startsWith(' '))
    string = string.substr(1);
    
while (string.endsWith(' '))
    string = string.substr(0, string.length - 1);
→ Ссылка
Автор решения: Stanislav Volodarskiy

Пара слов об эффективности. Лучше найти позиции для первого и последнего непробельных символов и вырезать подстроку один раз:

var myTrim = function(s) {
    var first = undefined;
    for (var i = 0; i < s.length; ++i) {
        if (s[i] !== ' ') {
            first = i;
            break;
        }
    }
    if (first === undefined) {
        return '';
    }

    var last;
    for (var i = s.length - 1; ; --i) {
        if (s[i] !== ' ') {
            last = i;
            break;
        }
    }

    return s.substring(first, last + 1);
};
→ Ссылка