@Lolipop999

Когда можно использовать цикл внутри цикла?

Никак не могу понять практического применения цикла внутри цикла. На learn.javascript.ru есть пример, но как он работает и когда его можно применить я не понял. Можете простым языком объяснить практическую пользу цикла внутри цикла.

for (let i = 0; i < 3; i++) {

  for (let j = 0; j < 3; j++) {

    let input = prompt(`Значение на координатах (${i},${j})`, '');

    // Что если мы захотим перейти к Готово (ниже) прямо отсюда?
  }
}

alert('Готово!');
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Все зависит от конкретной задачи. В реальной жизни вы столкнетесь с циклами внутри циклов - когда будете например активно работать над преобразованием данных. Например используя методы массивов (вроде map, reduce, forEach и т.п.).

// задача - сделать все буквы А в именах заглавными
const names = ['вася', 'петя', 'алла', 'маша', 'юля', 'вова'];

// первый цикл
const adjustedNames = names.map(name => {
  const nameArr = [...name];
  
  // второй цикл
  const nameAdjusted = nameArr.map(letter => letter === 'а' ? 'А' : letter);
  
  return nameAdjusted.join('');
});

console.log(adjustedNames); // [ "вАся", "петя", "АллА", "мАшА", "юля", "вовА" ]


Всегда нужно помнить, что цикл внутри цикла - это очень ресурсоемкая задача.
Если сложность одного цикла равняется O(n), то сложность цикла внутри цикла возрастает на порядок и равняется O(n2) что может привести к проблемам и задержкам в вычислениях в случае обработки больших массивов из тысяч+ элементов.

По этому не используйте такую вещь без крайней необходимости. Современный синтаксический сахар в JS позволяет делать много вложенных массивов не замечая проблем.
Ответ написан
Ваш ответ на вопрос

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

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