在 babel-node REPL我得到
TypeError:undefined不是函数
尝试在对象上使用For..Of进行迭代时。我不知道为什么一个for..in可以工作,但是一个for..of won。它只适用于阵列吗?
const config = { base: 'iei', url: 'www.' }
for (let i of config) { console.log(i); }
答案 0 :(得分:3)
不,for of
适用于iterables。并非所有对象都是可迭代的。但是,您可以为对象创建自定义迭代器:
Object.values = function* (o) {
for (let k of Object.keys(o))
yield o[k];
};
for (let i of Object.values(config)) console.log(i); // 'iei', 'www.'