На каждый вызов функции "loop", я пытаюсь возвращать новое значение свойства "с" с объекта "test" но почему то на каждый вызов получаю одно и то же значение
1 вызов: { value: { a: 1 }, done: false }
2 вызов: { value: { a: 1 }, done: false }
3 вызов: { value: { a: 1 }, done: false }
вместо того чтобы на каждый вызов получать новое значение
1 вызов: { value: { a: 1 }, done: false }
2 вызов: { value: { a: 2 }, done: false }
3 вызов: { value: { a: 3 }, done: false }
Помогите пожалуйстаconst test = {
a: { id: 1 },
b: { id: 2 },
c: [{ a: 1 }, { a: 2 }, { c: 3 }]
}
function* generLoop(elem) {
// eslint-disable-next-line no-undef,no-restricted-syntax
for (el of test[elem]) {
// eslint-disable-next-line no-undef
yield el
}
}
function loop(elem) {
const findQuery = Object.keys(test).find(el => el === elem)
if (findQuery) {
return generLoop("c").next() // здесь если свойство "с" пытаюсь вызывать новое значение при каждом вызове функции
}
return test[elem]
}
for (let i = 0; i < 3; i++) {
console.log(loop("c"))
}