-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
题目:
请模拟实现 ES6 中的 Generator 函数
function generator(array) {
// 你的代码
}测试数据:
const arr = [
{
name: '张三',
age: 18
}, {
name: '李四',
age: 22
}, {
name: '王五',
age: 30
}
];
const it = generator(arr);
console.log(it.next()); // {value: {age: 18, name: "张三"}, done: false}
console.log(it.next()); // {value: {age: 22, name: "李四"}, done: false}
console.log(it.next()); // {value: {age: 30, name: "王五"}, done: false}
console.log(it.next()); // {value: undefined, done: true}参考答案:
function generator(array) {
let nextIndex = 0;
return {
next: function() {
return nextIndex < array.length ?
{value: array[nextIndex++], done: false} :
{value: undefined, done: true};
}
}
}Metadata
Metadata
Assignees
Labels
No labels