Javascript 对象 forEach 如何? [复制]
Posted
技术标签:
【中文标题】Javascript 对象 forEach 如何? [复制]【英文标题】:Javascript object forEach howto? [duplicate] 【发布时间】:2016-12-24 20:29:24 【问题描述】:在下面的 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));
forEach 工作需要什么?
【问题讨论】:
见***.com/questions/14379274/javascript-iterate-object。 @torazaburo 这不是重复的。我知道 for-loop 方法,但我想使用 forEach,我认为我可以。 你不能,因为forEach
不存在于对象上。重复的问题非常详细地介绍了如何跨对象属性循环,包括跨对象键的forEach
、for...in
和更新的 ES6 方法。
【参考方案1】:
您在这里遇到的是 JavaScript 问题,而不是 TypeScript 问题。 TS 和 JS 具有相同的运行时语义。
forEach
是Array
的一个方法。对象没有forEach
。 forEach
的语义对常规对象没有意义——例如,您的 obj
没有 length
或 0
属性,这是 forEach
寻找的东西的种类。
【讨论】:
你是对的。不知何故,我误以为我应该能够以这种方式使用它,并且一直困扰着我一段时间。以上是关于Javascript 对象 forEach 如何? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何编写递归函数javascript push我的数组属性Json对象?