freeCodeCamp/guide/russian/certifications/javascript-algorithms-and-d.../basic-javascript/nesting-for-loops/index.md

5.0 KiB
Raw Blame History

title localeTitle
Nesting For Loops Вложение в петли

Вложение в петли

Не забудьте использовать Read-Search-Ask, если вы застряли. Попробуйте пара программ: бюсты в силуэте: и напишите свой собственный код: карандаш:

checkered_flag: Проблема Объяснение:

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

Вот пример:

var arr = [ 
  [1,2], [3,4], [5,6] 
 ]; 
 for (var i=0; i < arr.length; i++) { 
  for (var j=0; j < arr[i].length; j++) { 
    console.log(arr[i][j]); 
  } 
 } 

Это выводит каждый подэлемент в arr одному за раз. Заметим, что для внутреннего цикла мы проверяем длину arr [i], так как arr [i] является самим массивом.

  • Модифицировать функцию multiplyAll так, чтобы она умножала переменную product на каждое число в подмассивах arr .
  • Убедитесь, что второй для цикла вложен внутри первого.

Связанные ссылки

: speech_balloon: Подсказка: 1

Обязательно проверяйте length а не общий массив.

попытаться решить проблему сейчас

speech_balloon: Подсказка 2

Используйте i и j при умножении продукта.

попытаться решить проблему сейчас

speech_balloon: Подсказка 3

Не забудьте использовать arr[i] когда вы умножаете подмассивы на переменную product .

попытаться решить проблему сейчас

Осторожно, спойлеры!

Решение впереди!

начинающий: базовый код Решение:

function multiplyAll(arr) { 
  var product = 1; 
  // Only change code below this line 
  for(var i=0; i < arr.length; i++){ 
    for (var j=0; j < arr[i].length; j++){ 
      product = product * arr[i][j]; 
    } 
  } 
  // Only change code above this line 
  return product; 
 } 
 
 // Modify values below to test your code 
 multiplyAll([[1,2],[3,4],[5,6,7]]); 

: ракета: Код запуска

Код Объяснение:

  • Мы проверить длину arr в i цикл и arr[i] длины в j для цикла.
  • Мы умножаем переменную product самостоятельно, потому что она равна 1, а затем умножаем ее на подмассивы.
  • Два подмассива для умножения - это arr[i] и j .

: буфер обмена: ПРИМЕЧАНИЯ ДЛЯ ВЗНОСОВ:

  • : warning: НЕ добавляйте решения, похожие на любые существующие решения. Если вы считаете, что это похоже, но лучше, попробуйте объединить (или заменить) существующее подобное решение.
  • Добавьте объяснение своего решения.
  • Классифицируйте решение в одной из следующих категорий - Basic, Intermediate и Advanced. :светофор:
  • Пожалуйста, добавьте свое имя пользователя, только если вы добавили соответствующее основное содержимое. (: предупреждение: НЕ удалять существующие имена пользователей)

См.: Point_right: Wiki Challenge Solution Шаблон для справки.