@sergius-mary

Объясните пожалуйста код?

Здравствуйте. Начал изучать JS. Знающие люди объясните пожалуйста этот код:

<script>
   var myNumbers = [2, 4, 2, 7];
   var total = 0;
   for (oneNumber in myNumbers) {
         total = total + myNumbers[oneNumber];
   }
document.write (total);
</script>

в итоге выходит сумма чисел в массиве. Я не пойму как это происходит? Откуда взялся oneNumber и для чего он нужен?

Только сильно не пинайте, потому что изучаю можно сказать на коленке, как найдётся свободное время (знаю что так не хорошо). Спасибо заранее.
  • Вопрос задан
  • 235 просмотров
Решения вопроса 1
usdglander
@usdglander
Yipee-ki-yay
Конструкция for (oneNumber in myNumbers) фактически означает следующее:
Перебрать по очереди все ключи массива myNumbers и на каждом шаге значение ключа помещать в переменную oneNumber. После чего происходит добавление myNumbers[oneNumber], то есть значения в массиве myNumbers по индексу oneNumber, к переменной total.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
max_front
@max_front
frontend
проще говоря
вот равносильная запись вашему циклу
for (var oneNumber in myNumbers) {
total = total + myNumbers[oneNumber];
}
В каждой итерации цикла создаются переменная oneNumber и туда записываем элемент с массива myNumbers
Ответ написан
sergiks
@sergiks Куратор тега JavaScript
♬♬
oneNumber забыли объявить.

Надо бы добавить выше строку var oneNumber;
Ответ написан
Комментировать
tsepen
@tsepen
Frontend developer
Прочитайте про конструкцию for in https://developer.mozilla.org/ru/docs/Web/JavaScri...
В данном случае oneNumber - это индекс элемента в массиве, его можно назвать как угодно, хоть i хоть value , хоть oneNumber.
Цикл for in перебирает все элементы массива по очереди, берет соответствующий элемент и прибавляет к переменной total. Как только все элементы перебраны - сработает следующая функция - document.write (total);
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы