1const teams = [ 2 { name: "Team 1", members: ["Paul", "Lisa"] }, 3 { name: "Team 2", members: ["Laura", "Tim"] } 4]; 5 6function* getMembers(members) { 7 for (let i = 0; i < members.length; i++) { 8 yield members[i]; 9 } 10} 11 12function* getTeams(teams) { 13 for (let i = 0; i < teams.length; i++) { 14 // ✨ SOMETHING IS MISSING HERE ✨ 15 } 16} 17 18const obj = getTeams(teams); 19obj.next(); // { value: "Paul", done: false } 20obj.next(); // { value: "Lisa", done: false }
本题为“单选题”
参考答案:
正确选项:B:yield* getMembers(teams[i].members)
为了遍历 teams
数组中对象的属性 members
中的每一项,我们需要将 teams[i].members
传递给 Generator 函数 getMembers
。Generator 函数返回一个 generator 对象。为了遍历这个 generator 对象中的每一项,我们需要使用 yield*
.
如果我们没有写 yield
,return yield
或者 return
,整个 Generator 函数不会第一时间 return 当我们调用 next
方法.
最近更新时间:2021-07-03