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, время: 22:40. |