Iterator(迭代器)接口
{ let arr=['hello','world']; let map=arr[Symbol.iterator]();//数组实现了iterator接口 console.log(map.next()); console.log(map.next()); console.log(map.next()); }
输出结果如下:
自定义iterator接口
{ let obj={ start:[1,3,2], end:[7,9,8], [Symbol.iterator](){ let self=this; let index=0; let arr=self.start.concat(self.end); let len=arr.length; return { next(){ if(index<len){return { value:arr[index++], done:false} }else{return { value:arr[index++], done:true} } } } } } for(let key of obj){ console.log(key);//输出1,3,2,7,9,8可以证明 obj实现了iterator接口 可以使用for of } }
Atas ialah kandungan terperinci 分享Iterator与iterator接口的实例代码. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!