Распечатать каждое значение в функции генератора итератора диапазона javascript
Итератор должен печатать каждое значение в пределах диапазона, но печатает только альтернативные номера.
ожидал
[0,1,2,3,4,5,6,7,8,9,10]
Результат
[1,3,5,7,9,10]
1 ответ
Каждый звонок вnext
будет потреблять значение от итератора, поэтомуwhile
условие потребляет значение, которое, следовательно, не попадет вtmp
.
Но... JavaScript позволяет потреблять значения гораздо проще. Например, сArray.from
или распространять синтаксис, вы можете собрать все значения из итератора в массив.
Не ваш вопрос, а:
-
iterationCount
не имеет смысла в вашем коде, поэтому просто удалите эту часть. - Почему функция будет вести себя по-разному, если оба значения start и end равны 0, а не когда start и end равны 10? Я бы убрал это дело. Когда конец диапазона окажется меньше начала, есть смысл выйти, но это все равно произойдет без каких-либо
if
заявление. - Имя
iterator
для вашей функции несколько вводит в заблуждение, так как возвращаемое значение является не итератором, а строкой, разделенной запятыми. Поэтому я бы назвал этоrangeToCsv