如何在JavaScript中声明和访问对象数组?

时间:2011-12-05 03:52:56

标签: javascript

我有以下代码,目的是定义和使用对象列表,但我得到post_title的'undefine'。我究竟做错了什么?我不想将数组命名为对象的属性,我只想要一个对象的集合/数组。

var templates = [{ "ID": "12", "post_title": "Our Title" }
    , { "ID": "14", "post_title": "pwd" }];
function templateOptionList() {
    for(var t in templates) {
        console.log(t.post_title);
    }
}
$(function () {
    templateOptionList();
});

1 个答案:

答案 0 :(得分:5)

您正确定义了数组,但这不是您在JavaScript中迭代数组的方式。试试这个:

function templateOptionList() {
    for(var i=0, l=templates.length; i<l; i++) {
        var t=templates[i];
        console.log(t.post_title);
    }
}

更好(尽管速度稍慢)这样做只在新浏览器中有效的方法是使用Array.forEach

function templateOptionList() {
    templates.forEach(function(t) {
        console.log(t.post_title);
    });
}