有时候需要对对象进行遍历,下面提供一个比较方便的接口,
其基本思路是,首先得到对象的所有键(key),
然后将其放在yield* 后面.
yield* 可以通过 for … of … 循环遍历
具体实现如下:
function* iterEntries (obj) {let keys = Object.keys(obj);for ( let i =0; i < keys.length; i++) {let key = keys[i];yield [key, obj[key]];}
}// 调用 iterEntries
let myObj = { foo: 3 , bar: 7};
for ( let [key, value] of iterEntries(myObj)) {console.log(key, value);
}
参考《ES6标准入门》(第3版)P351