Распечатать каждое значение в функции генератора итератора диапазона 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

Другие вопросы по тегам