Menu
Coddy logo textTech

Вложенные циклы и 2D массивы

Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 8 из 65.

При работе с двумерными массивами мы часто используем вложенные циклы для итерации по каждой строке и каждому столбцу, что позволяет нам получать доступ к каждому элементу массива или изменять его.

Вот типичная структура вложенных циклов для двумерного массива:

const seats = [
  [true, true, false],
  [true, false, true]
];

for (let r = 0; r < seats.length; r++) {
  // Внешний цикл итерирует по строкам
  for (let c = 0; c < seats[r].length; c++) {
    // Внутренний цикл итерирует по столбцам
    // здесь можно получить доступ к seats[r][c]
  }
}

Внешний цикл перебирает строки, а внутренний цикл перебирает столбцы каждой строки. Таким образом, вы можете получить доступ к каждому элементу двумерного массива, используя array[r][c].

challenge icon

Задание

Легко

Создайте функцию с именем countOccurrences, которая принимает двумерный массив строк matrix и строку target. Она должна возвращать количество раз, которое target встречается во всех строках и столбцах.

Шпаргалка

Используйте вложенные циклы для итерации по двумерным массивам: внешний цикл для строк и внутренний цикл для столбцов:

const seats = [
  [true, true, false],
  [true, false, true]
];

for (let r = 0; r < seats.length; r++) {
  // Внешний цикл итерирует по строкам
  for (let c = 0; c < seats[r].length; c++) {
    // Внутренний цикл итерирует по столбцам
    // Доступ к элементу через seats[r][c]
  }
}

Попробуйте сами

function countOccurrences(matrix, target) {
  // TODO: Реализовать логику для подсчета количества вхождений 'target' в матрицу
}
// Не пишите ничего вне функции
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и поток