@Norwood

Как сделать проверку перед циклом?

Есть такая задача https://codepen.io/menist/pen/QWwojvy?editors=1010
при нажатии на кнопку вылетает ошибка в консоль- "Cannot read property 'length' of undefined".
Что бы её устранить нужно сделать проверку перед циклом, если строка в input пустая, от цикл не запускался. Пробовал с breack, но он применяется только в цикле, а ошибку выдаёт само условие цикла: i < a18[inp].length. Не знаю как сделать такую проверку на незапуск цикла.
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
if (inp === "") {
  return false;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
joeberetta
@joeberetta Куратор тега JavaScript
Читай: https://epdf.pub/google-for-dummies.html
Чем вас if/else не устроил?
// Допишите функцию таким образом
function f18() {
    let out = '';
    let inp = document.querySelector('.i-18').value;
  if(inp.length && Object.keys(a18).includes(inp))
    for (let i = 0; i < a18[inp].length; i++) {
        out += a18[inp][i] + ' ';
    }
  else
    out = 'Введите верное слово!'
    document.querySelector('.out-18').innerHTML = out;
}


З.ы. Код такой себе, правки соответствующие
Ответ написан
Комментировать
@Karpion
Очевидно, надо весь цикл взять в условие. Примерно так:
if (строка_не_пустая) for (...) {
	...
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы