7
为什么在JavaScript中对象不可迭代?
为什么默认情况下无法迭代对象? 我经常看到与迭代对象有关的问题,常见的解决方案是迭代对象的属性并以这种方式访问对象中的值。这似乎很常见,使我想知道为什么对象本身不可迭代。 for...of默认情况下,像ES6这样的语句很适合用于对象。因为这些功能仅适用于不包含{}对象的特殊“可迭代对象” ,所以我们必须仔细研究以使其适用于要用于它的对象。 for ... of语句创建一个循环,循环遍历可迭代对象 (包括Array,Map,Set,arguments对象等)... 例如,使用ES6生成器函数: var example = {a: {e: 'one', f: 'two'}, b: {g: 'three'}, c: {h: 'four', i: 'five'}}; function* entries(obj) { for (let key of Object.keys(obj)) { yield [key, obj[key]]; } } for (let [key, value] of entries(example)) { console.log(key); console.log(value); for (let …