Javascript对象forEach如何?

Javascript对象forEach如何?,javascript,Javascript,在下面的JavaScript代码中 obj = {}; // This work as intented obj['a'] = { item1: 'a1', item2: 'a2' }; console.log(obj); // Object.keys() works too console.log(Object.keys(obj)); // forEach does not, why? and how to fix? console.log('forEach'); obj.forEach

在下面的JavaScript代码中

obj = {};

// This work as intented
obj['a'] = { item1: 'a1', item2: 'a2' };
console.log(obj);

// Object.keys() works too
console.log(Object.keys(obj));

// forEach does not, why? and how to fix?
console.log('forEach');
obj.forEach(o => console.log(o));

每个工作都需要什么?

这里的问题是JavaScript问题,而不是打字脚本问题。TS和JS具有相同的运行时语义


forEach
是一种
Array
方法。对象没有
forEach
forEach
的语义在常规对象上没有意义——例如,您的
obj
没有
length
0
属性,这是
forEach
寻找的对象。

您是正确的。不知何故,我产生了一种错误的想法,认为我应该能够这样使用它,并且已经困扰了我一段时间。看。@torazaburo这不是一个复制品。我知道for循环方法,但我想使用forEach,我认为我可以。你不能,因为对象上不存在
forEach
。重复问题详细介绍了如何跨对象属性循环,包括跨对象键的
forEach
for…in
,以及更新的ES6方法。