有時候需要對對象進行遍歷,下面提供一個比較方便的接口,
其基本思路是,首先得到對象的所有鍵(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