// Iterator
{
let arr = ['hello', 'world']
let map = arr[Symbol.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 (const key of obj) {
console.log(key)
} // 1 3 2 7 9 8
}
ES6 Iterator 在简单对象中的实现
最新推荐文章于 2023-07-20 13:59:55 发布