列出对象内的对象

时间:2015-02-16 19:23:18

标签: javascript

我有一个这样的对象:

var Data={arg1:"hi",arg2:"hey"}

var Result={"46058":Data,"50545":Data}

我想列出Result变量中的所有值。我该怎么做?例如,输出应该是这样的:

46058's arg1 value's = hi
46058's arg2 value's = hey

50545's arg1 value's = hi
50545's arg2 value's = hey

我该怎么做?

2 个答案:

答案 0 :(得分:1)

@doldt的回答让你走在正确的道路上。但是由于你的嵌套数据示例,你需要有多个循环来获得预期的输出。

var data = {arg1: "hi",arg2: "hey"};
var result = {"46058": data,"50545": data};

for (var outerKey in result) {
    for (var innerKey in result[outerKey]) {
        console.log(outerKey + "'s " + innerKey + " value = " + result[outerKey][innerKey]);
    }
}

输出结果为:

46058's arg1 value = hi
46058's arg2 value = hey
50545's arg1 value = hi
50545's arg2 value = hey

工作JSFiddle。务必检查控制台输出。

答案 1 :(得分:0)

有几种方法可以做到,这里有两种。

您可以使用for..in语法,如下所示:

for (attribute in Result) {
    console.log(Result[attribute]);
}

您还可以使用Object.keys(Result)来获取包含Result中所有键的数组,您可以使用它来查找对象中的值:

var keys = Object.keys(Result);
for(var i=0;i<keys.length;i++){
    console.log(Result[keys[i]]);
}

注意:我建议不要使用大写字母来启动变量名,在Javascript约定中通常表示构造函数。