let booksInfo = {
authDescipt: {
a: ['hello','book', 'san'],
b: ['nihao', 'henhao', 'three'],
c: ['aaa', 'bbb', 'ccc']
}
}
booksInfo[Symbol.iterator] = function () {
let AllAuthDescipt = this.authDescipt;
let keys = Reflect.ownKeys(AllAuthDescipt)
let values = []
return {
next() {
if (!values.length) {
if (keys.length) {
values = AllAuthDescipt[keys[0]]
keys.shift()
}
}
return {
done: !values.length,
value: values.shift(),
}
}
}
}
for (let v of booksInfo) {
console.log(v)
// hello
// index.js:31 book
// index.js:31 san
// index.js:31 nihao
// index.js:31 henhao
// index.js:31 three
// index.js:31 aaa
// index.js:31 bbb
// index.js:31 ccc
}