我有以下代码,目的是定义和使用对象列表,但我得到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();
});
答案 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);
});
}