JS FOR LOOP (for nested obj)
Всех приветствую. Подскажите пож-та, как работает данный цикл for?
Что значит node.rest ?
let list = {
value: 1,
rest: {
value: 2,
rest: {
value: 3,
rest: null
}
}
};
for (let node = list; node; node = node.rest) {
console.log(node);
}
/*
{
value: 1
rest: {
value: 2
rest: {value: 3, rest: null}
}
}
{value: 2, rest: {value: 3, rest: null}}
{value: 3, rest: null}
*/
|
Не знаю. Я коммент добавил как должно выводить. У меня выводит
|
VyacheslavBozere,
строка 11 первый такт: let node = list мы в строке 1 строка 11 второй такт: node = node.rest мы в строке 3 строка 11 третий такт: node = node.rest мы в строке 5 строка 11 четвёртый такт: node = node.rest мы в строке 7 строка 11 пятый такт: for (let node = list; node; node = node.rest) node равен null мы в строке 14. ... может кто-то обьяснит иначе |
Все понял. Очень грамотно объяснили. Спасибо большое. Еще вопрос, а на практике стоит такое применять ? Или проще for in для obj использовать ?
|
Цитата:
|
Цитата:
А так, юзать можно, только список может быть замкнут, если последний элемент смотрит на кого-то из предыдущих или даже на себя, тогда будет бесконечный цикл. |
Забавное извращение :) Новый while true головного мозга ?
|
| Часовой пояс GMT +3, время: 07:24. |