Javascript对象forEach如何?
在下面的JavaScript代码中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
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方法。