У меня есть фабричная функция, которая возвращает объект.Внутри объекта у меня есть метод с именем getNext.
Я хочу, чтобы метод getNext
возвращал объект со свойствами value
и done
.
Ниже приведен мой код, но кажется, что то, что у меня есть в квадратных скобках, неверно.
function makeIterator (arr){
let methodCalls = 0;
return {
getNext(obj){
methodCalls += 1;
return {
this.value = '';
this.done = '';
}
},
getIndex(){
return methodCalls
}
}
}
Мой код выше не проходит тестовую спецификацию ниже:
it('the `getNext` method returns an object with the properties `value` and `done`', () => {
const iterator = makeIterator(['first', 'second', 'third']);
const iterableInfo = iterator.getNext();
expect(Object.keys(iterableInfo).sort()).toEqual(['done', 'value'].sort());
expect(iterableInfo.hasOwnProperty('value')).toBe(true);
expect(iterableInfo.hasOwnProperty('done')).toBe(true);
});
Что я делаю не так?