const obj = {
name:'张三',
age:18,
list:[11,22,33],
[Symbol.iterator](){
let i = 0
return {
next:()=>{
return {
value:this.list[i++],
flag:i>this.list.length?true:false
}
}
}
}
}
for (const item of obj) {
console.log(item);
}
原因是因为返回的代码中的flag要写成done,才会符合格式正常结束循环
{
value:this.list[i++],
flag:i>this.list.length?true:false
}