Возврат подмножества с использованием цикла

#javascript #arrays #string

#javascript #массивы #строка

Вопрос:

Я написал этот код

 function sub (str, start, end) {
    var newstr = ''
    for(var i = 0; i < str.length; i  ) {
      if(i >= start amp;amp; i < end) {
       newstr  = str[i]
      }
    }
    return newstr
}
  

Я ожидаю, что вывод ('abcd',0,10) будет ‘ab’, но фактический вывод — ‘a’

Комментарии:

1. Вы получите abcd не только

2. Вам это нужно, если: (i >= start amp;amp; i <= end)

3. Если начало равно 0, а конец равен 10, почему вы ожидаете только ab ? Разве вам не пришлось бы вызывать функцию как ('abcd',0,2) ? Кроме того, почему вы избегаете использования уже существующей substr() функции?

4. не удается использовать встроенные функции

5. @stdob— большое спасибо. это исправило код

Ответ №1:

Если ваша цель — получить функцию, которая принимает начальный и конечный индексы для возврата подстроки, тогда вы можете использовать slice функцию для строк.

 var word = 'ascsjdksjdnc';
word.slice(2, 4);
// Output: 'cs'