Open Genluo opened 1 year ago
如果我们需要使用 for of 遍历一个对象,需要为对象实现相应 Symbol.iterator 接口实现,例如下面这种方式:
function objectIterator() { const keys = Object.keys(this) let index = 0 return { next: () => { const done = index >= keys.length const value = done ? undefined : this[keys[index]] index++ return { done, value } } } } Object.prototype[Symbol.iterator] = objectIterator const obj = { key: '1', value: '2' } for (const iterator of obj) { console.log(iterator) }
如果我们需要使用 for of 遍历一个对象,需要为对象实现相应 Symbol.iterator 接口实现,例如下面这种方式: