JavaScript或jQuery:循环多维对象

3
我刚开始尝试使用JSON并创建了这个示例。
var shows = {

    "ShowA": 
                {   "Date"      : "November 3-5, 2011",
                    "Phone"     : "111-111-1111",
                    "Location"  : "some location",
                    "url"       : "http://www.showA.com"
                },

    "ShowB": 
                {   "Date"      : "January 15-18, 2012",
                    "Phone"     : "222-222-2222",
                    "Location"  : "another location",
                    "url"       : "http://www.showB.com"
                }

};

我找到了如何访问每个信息位...例如:alert(shows.ShowA.Date)。
然而,我无法弄清楚如何循环整个shows对象以便警告每个展示和每个展示的属性。 我需要将其更改为数组吗?
非常感谢您的任何帮助。
2个回答

14
你可以使用for ... in循环
for(var key in shows) {
    if (shows.hasOwnProperty(key)) {
        alert(shows[key].Date);
    }
}

重要的是要注意,对象没有排序顺序,但数组有。因此,如果您想按日期排序,您需要使用数组。
另外,使用Object.hasOwnProperty是一个好习惯。

1
啊,你救了我的一天...这个问题困扰我一个小时左右了! - Aart den Braber

6

@尤达 -- 你在说什么? - Naftali

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接