Показывать каждую букву в новой строке с помощью цикла while - PullRequest
0 голосов
/ 16 июня 2020

Я хочу научиться работать с l oop. Но я не понимаю, как это работает. Я просмотрел много примеров, но все безрезультатно. Моя проблема в том, что я хочу отображать каждую букву в новой строке из vowel с помощью while loop. Не знаю как ...

// I know that's example is wrong.
function while_loop() {
  var vowel = ["a", "e", "o", "u", "i", "A", "E", "O", "U", "I"];
  var cout = 1;
  while (cout < vowel.length) {
    console.log(vowel);
    cout++;
  }
}


// * I could do so with the help `For Loop`. But my goal is learning how to work with while loop


function for_loop() {
  var vowel = ["a", "e", "o", "u", "i"];
  for (var i = 0; i < vowel.length; i++) {
    console.log(vowel[i]);
  }
}

while_loop()
for_loop()

Ответы [ 3 ]

2 голосов
/ 16 июня 2020

Проблема в том, что вы записываете в консоль всю гласную, а не vowel [cout] . Кроме того, cout должен начинаться с 0; это решение:

function while_loop() {
  var vowel = ["a", "e", "o", "u", "i", "A", "E", "O", "U", "I"];
  var cout = 0;
  while (cout < vowel.length) {
    console.log(vowel[cout]);
    cout++;
  }
}
while_loop();
0 голосов
/ 16 июня 2020
  • В этом случае for-l oop и while-l oop почти одинаковы. Просто в for-l oop вы «делаете» переменную (i) в функции for-loop, а для while-l oop вы делаете переменную (cout, которую вы, вероятно, неправильно написали и имели в виду count) за пределами l oop. По сути, это то же самое, но он называется по-другому и «сделан» в другом месте.

  • Cout ++ - тот же случай, вы добавляете 1 к переменной cout в обоих циклах, это просто в другом месте.

  • Проблема с вашим кодом состоит в том, что в while-l oop у вас есть console.log (гласная) вместо console.log (vowel [ cout]), который вы правильно вставили в for-l oop. И есть еще одна небольшая ошибка: массивы индексируются с 0 (как вы это делали в for-l oop), а не с 1 (как вы делали это в while-l oop).

    Итак, код должен выглядеть так:

    function while_loop() {
      var vowel = ["a", "e", "o", "u", "i", "A", "E", "O", "U", "I"];
      var cout = 0;
      while (cout < vowel.length) {
        console.log(vowel[cout]);
        cout++;
      }
    }
    
    function for_loop() {
      var vowel = ["a", "e", "o", "u", "i"];
      for (var i = 0; i < vowel.length; i++) {
        console.log(vowel[i]);
      }
    }
    
    while_loop()
    for_loop()
    
0 голосов
/ 16 июня 2020

Вам просто нужно включить индекс при ведении журнала консоли, чтобы он печатал элемент с указанным c индексом, а не весь массив.

function while_loop() {
    var vowel = ["a", "e", "o", "u", "i", "A", "E", "O", "U", "I"];
    var cout = 0;
    while (cout < vowel.length) {
        console.log(vowel[cout]);
        cout++;
    }
}
while_loop();

и запускать cout с 0, чтобы первый элемент был включен .
Теперь о работе циклов while. Целью while l oop является выполнение блока кода снова и снова, пока выражение истинно. Как только выражение становится ложным, l oop заканчивается. В большинстве случаев вам придется что-то обновить (например, здесь cout), чтобы выражение стало ложным. В противном случае l oop будет запускаться бесконечное количество раз.

...