Iterator(迭代器)介面 輸出結果如下: 自定義iterator介面 ...
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 } }