Запись в скобках после for [дубликат]

146
28 марта 2018, 06:52

На данный вопрос уже ответили:

  • Как работает объявление let в for 2 ответа

Объясните, пожалуйста, что означает запись в скобках после for:

function listToArray(list) {
  let array = [];
  for (let node = list; node; node = node.rest) {
    array.push(node.value);
  }
  return array;
}

Нипривычно видеть такую запись после, например,

for (i=0; i<array.length; i++)
Answer 1

Классический цикл

for (i = 0; i < array.length; i++) {
  doSomething();
}

эквивалентен такому циклу

i = 0;
while (i < array.length) {
  doSomething();
  i++;
}

Таким образом, ваша запись эквивалентна следующей

function listToArray(list) {
  let array = [];
  let node = list;
  while (node) {
    array.push(node.value);
    node = node.rest;
  }
  return array;
}
Answer 2

Первое выражение в for выполняется единожды перед началом цикла. Будь то инициализация переменной i, или создание переменной node.

Второе выражение является условием выполнения for. Если оно false, то цикл обрывается.

Третье выражение выполняется в конце каждой итерации цикла. Будь то инкремент i, или же запись node.rest в переменную node.

Как-то так. Вроде не сложно.

READ ALSO
Swiper slider c полосой прокрутки и прогресс-баром

Swiper slider c полосой прокрутки и прогресс-баром

Допилила прогресс-бар для прокруткиНо работает он кривовато

146
Почему не работает keyboard в telegram bot api?

Почему не работает keyboard в telegram bot api?

Я ввожу в telegram сообщение "message", но в результате он не присылает мне ничегоПомогите, пожалуйста исправить

227
Проверка существования таблицы на Postgresql

Проверка существования таблицы на Postgresql

Добрый день, я новичок в разработке! Имя базы Shop, таблица usersСтолкнулся со сложностью, в том, что не могу понять, какой нужен скрипт, чтоб проверить...

221