繁体   English   中英

如何循环 JavaScript Object

[英]How to Loop Through a JavaScript Object

我用了

console.log(response);

并在控制台(在 Firebug 中)获得以下内容。 如何循环检查“LMNOPQ”是否存在?

data        [Object { name="Excel in ABCD", category="Book", id="327361517327399", more...}, Object { name="LMNOPQ", category="Product/service", id="175625882542984", more...}, Object { name="UVWXYZ", category="Book", id="260641707360118", more...}, 7 more...]
            0       Object { name="Excel in ABCD", category="Book", id="327361517327399", more...}
            category        "Book"
            created_time        "2012-04-04T05:31:04+0000"
            id      "327361517327399"
            name        "Excel in ABCD"
            1       Object { name="LMNOPQ", category="Product/service", id="175625882542984", more...}
            2       
Object { name="UVWXYZ", category="Book", id="260641707360118", more...}

然后按照 Baptiste Pe.net 的建议,我尝试了以下操作:

for(var i in response) {
    console.log(response[i].name);//gives me undefined
    console.log(response[i]);//gives me another object (it is nested, check below)
}

[Object { name="Excel in ABCD", category="Book", id="327361517327399", 更多...}, Object { name="LMNOPQ", category="产品/服务", id="175625882542984" , 更多...}, Object { name="UVWXYZ", category="Book", id="260641707360118", 更多...},

我现在如何得到这个名字? 我被困在:

console.log(response[i]);

为了获得嵌套对象的属性,我应该写什么? 另一个循环?

您应该尝试使用JSON.stringify(response)然后使用此站点来可视化结果。 它比您提供的格式更标准。

从你提供的内容来看,你似乎有一个名为data的成员,其中包含一个数组(同样,我不确定,因为你没有提供一个好的格式来描述你的 javascript 对象)。

所以让我们试试

for(var i in response.data) {
  if (response.data[i].name == 'LMOPQ') {
    return true
  }
}

return false;

您可以使用

for (var prop in Object) {
    if(prop == "LMNOPQ") {
        // Do something
    }
}

或者您可以使用if( response[like].hasOwnProperty("LMNOPQ") )或者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM