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 不存在于对象上。重复的问题非常详细地介绍了如何跨对象属性循环,包括跨对象键的forEachfor...in 和更新的 ES6 方法。 【参考方案1】:

您在这里遇到的是 JavaScript 问题,而不是 TypeScript 问题。 TS 和 JS 具有相同的运行时语义。

forEachArray 的一个方法。对象没有forEachforEach 的语义对常规对象没有意义——例如,您的 obj 没有 length0 属性,这是 forEach 寻找的东西的种类。

【讨论】:

你是对的。不知何故,我误以为我应该能够以这种方式使用它,并且一直困扰着我一段时间。

以上是关于Javascript 对象 forEach 如何? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

我如何返回 foreach javascript 中的值

如何编写递归函数javascript push我的数组属性Json对象?

JavaScript中是不是有类似forEach的函数,但它只返回索引,而不是对象和索引[关闭]

如何在敲除时在 foreach 循环中绑定输入值

JavaScript 实现数组的foreach

JavaScript中for in,for, for of,forEach之间的区别