主题
可迭代对象
什么是可迭代对象?
可迭代对象指的是满足“可迭代协议”的对象,结构形式如下:
js
{
[Symbol.iterator]: function() {
return 迭代器
}
}面试题
如下代码报错信息:{(intermediate value)(intermediate value)} is not iterable
js
var [a, b] = {
a: 3,
b: 4,
}
console.log(a, b)在不改动代码的情况下进行改造:
js
Object.prototype[Symbol.iterator] = function* () {
yield* Object.values(this)
}
var { a, b } = {
a: 3,
b: 4,
}
console.log(a, b) // 3 4