Задать вопрос
@Mcrx

Не могу понять почему так увеличивается переменная цикла?

Туплю походу сильно, но не могу понять почему именно такие результаты i
var movies = ['movie1', '10/10', 'movie2', '8/10', 'movie3', '6/10', 'movie4', '7/10'];
var moviesWithRate = [];

for (var i = 0; i < movies.length; i++) {
  console.log(i, ++i);
  // var item = movies[i].split(' ');
  // var movie = {};
  // movie[item] = movies[++i];
  //
  // moviesWithRate.push(movie);
}

кто может обьяснить что происходит в каждой итерации цикла?
  • Вопрос задан
  • 161 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 2
VoidVolker
@VoidVolker Куратор тега JavaScript
Dark side eye. А у нас печеньки! А у вас?
А что не так с результатом? Он именно такой какой и должен быть.
console.log( // Печать в консоли
    i,   // Текущий индекс
    ++i   // Увеличить текущий индекс, вернуть результат
);
Ответ написан
Комментировать
melodyn
@melodyn
Лучше нативная смерть, чем фреймворковая жизнь.
for сам по себе увеличивает индекс на единицу, то есть
for (var i = 0; i < movies.length; i++) {
 console.log(i); // 0, 1, 2, 3 и т.д.
}


Увеличивая его ещё на единицу уже внутри в консоли, ты получаешь два значения: увеличенное циклом и увеличенное инкрементацией непосредственно "вручную".
Потому на выходе "0 1", "2 3" и т.д.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Вы дважды в одном цикле увеличиваете переменную.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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