строке concole.log получает значение 4? Цикл, который я вижу проверяет массив hasBubbleGum, как он добирается до products мне не понятно, и потом выводит нужное значение в консоль. Это из книги HeadFirst - JS
"use strict";
var products = ["Choo Choo Chocolate", "icy Mint", "Cake Butter", "Bubblegum"];
var hasBubbleGum = [false, false, false, true];
let i = 0;
while (i < hasBubbleGum.length) {
if (hasBubbleGum[i] == true) {
console.log(${products[i]} contains bubble gum);
}
i++;
}
ТО ЧТО ПОКАЗЫВАЕТ КОНСОЛЬ БРАУЗЕРА
Bubblegum contains bubble gum
ну это было условие задачи, можно и for. Все равно не понятно как products[i] становится 4 или 3 уже запутался, короче в итоге получает "Bubblegum" из массива.
while (i < hasBubbleGum.length) означает : пока-условие(i меньше длины суммы элементов) делать то и то и прибавлять к i, +1
Индексация массива начинается с 0, соответственно 0, 1,2,3 - это всего 4 элемента. Соответственно длина будет равна 4
Он отрабатывает, но не понимаю как. последний тру в массиве hasBubbleGum и именно его проверяет цикл, но как products[i] получает значение 3, и соответственно "Bubble gum" я не понимаю. Ведь циклом мы проверяем именно массив bubbleGum
это понятно, не понятно другое
for (let i = 0; i < hasBubbleGum.length; i++) { if (hasBubbleGum[i]) { console.log(${products[i]} contains bubble gum); } } ну я вот тоже с фор переписал, как цикл проверяет products в этом случае я не понимаю
4 < 4 — false
откуда в строке products[i] знает что нужно написать именно bubble gum а не что-то еще?
если тебе непонятно что-то, то посмотри код через дебаггер и всё станет ясно
Обсуждают сегодня