如何在JavaScript中迭代对象?

Piy*_*ush 91 javascript arrays

我有这个对象.我想在JavaScript中迭代这个对象.这怎么可能?

var dictionary = {
    "data": [
        {"id":"0","name":"ABC"},
        {"id":"1","name":"DEF"}
    ],
    "images": [
        {"id":"0","name":"PQR"},
        {"id":"1","name":"xyz"}
    ]
};
Run Code Online (Sandbox Code Playgroud)

小智 141

您可以使用以下代码执行此操作.首先使用dictionary.data获取数据数组并将其分配给数据变量.之后,您可以使用普通for循环迭代它.每行都是数组中的行对象.

var data = dictionary.data;

for (var i in data)
{
     var id = data[i].id;
     var name = data[i].name;
}
Run Code Online (Sandbox Code Playgroud)

您可以按照类似的方法迭代图像数组.


Arn*_*501 30

也有这种方式(EcmaScript5的新功能):

dictionary.data.forEach(function(item){
    console.log(item.name + ' ' + item.id);
});
Run Code Online (Sandbox Code Playgroud)

图像的方法相同


小智 8

像这样的东西:

var dictionary = {"data":[{"id":"0","name":"ABC"},{"id":"1", "name":"DEF"}], "images": [{"id":"0","name":"PQR"},{"id":"1","name":"xyz"}]};

for (item in dictionary) {
  for (subItem in dictionary[item]) {
     console.log(dictionary[item][subItem].id);
     console.log(dictionary[item][subItem].name);
  }
}
Run Code Online (Sandbox Code Playgroud)