Как `reverseLazy` определяется как `for (значение iter) { yield*verseLazy(iter); доходность; }` удалось отменить итерациJavascript

Форум по Javascript
Anonymous
Как `reverseLazy` определяется как `for (значение iter) { yield*verseLazy(iter); доходность; }` удалось отменить итераци

Сообщение Anonymous »


Код: Выделить всё

function* reverseLazy(iterable) {
for (const item of iterable) {
yield* reverseLazy(iterable);
yield item;
}
}

console.log([...reverseLazy([1,2,3,4,5].values())]); // prints [5,4,3,2,1]


Я написал эту функцию несколько лет назад (https://github.com/CarterLi/queryable-j ... js#L77-L82), но совершенно забыл, как думал ли я, когда писал это? Я спросил у ИИ, и ИИ сказал, что это бесконечная рекурсия, но на самом деле это не так.

Подробнее здесь: https://stackoverflow.com/questions/798 ... selazyiter

Вернуться в «Javascript»