首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Prototype遍历javascript中对象的每个属性?

使用Prototype遍历javascript中对象的每个属性?
EN

Stack Overflow用户
提问于 2009-02-25 21:15:43
回答 2查看 105.4K关注 0票数 89

有没有一种方法可以使用原型JavaScript框架遍历对象的每个属性?

情况是这样的:我得到了一个JSON格式的AJAX响应,看起来像这样:

代码语言:javascript
复制
{foo: 1, bar: 2, barobj: {75: true, 76: false, 85: true}}

如果我在变量response中计算json响应,我希望能够遍历response.barobj对象中每个属性,看看哪些索引是真的,哪些是假的。

Prototype同时具有Object.keys()Object.values(),但奇怪的是似乎没有简单的Object.each()函数!我可以采用Object.keys()和Object.values()的结果,并在迭代其中一个时交叉引用另一个,但这是一种非常复杂的方法,我确信有一种正确的方法可以做到这一点!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-02-25 21:34:31

你必须先使用convert your object literal to a Prototype Hash

代码语言:javascript
复制
// Store your object literal
var obj = {foo: 1, bar: 2, barobj: {75: true, 76: false, 85: true}}

// Iterate like so.  The $H() construct creates a prototype-extended Hash.
$H(obj).each(function(pair){
  alert(pair.key);
  alert(pair.value);
});
票数 42
EN

Stack Overflow用户

发布于 2009-02-25 22:52:11

这里不需要原型: JavaScript有for..in循环。如果你不确定没有人对Object.prototype做过手脚,也可以检查一下hasOwnProperty(),例如

代码语言:javascript
复制
for(var prop in obj) {
    if(obj.hasOwnProperty(prop))
        doSomethingWith(obj[prop]);
}
票数 553
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/587881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档