5.0 KiB
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
. - Убедитесь, что второй для цикла вложен внутри первого.
Связанные ссылки
- Гнездо Один массив внутри другого массива
- Итерация через массив с A для цикла
- Доступ к вложенным массивам
: 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 Шаблон для справки.