Javascript 获取对象数组中对象属性的值

Javascript 获取对象数组中对象属性的值,javascript,jquery,javascript-objects,Javascript,Jquery,Javascript Objects,我有一组对象: var ads = [ { adName: "Football Team", adText: ["....","...."], adImg: ["images/img1.png", "images/img2.png", "", "", ""], adPreviewLink: "templateA", adSeconds: 15, adTime: ad1Time },{ adName: "Basketball Team"

我有一组对象:

var ads = [
{   
    adName: "Football Team",
    adText: ["....","...."],
    adImg: ["images/img1.png", "images/img2.png", "", "", ""],
    adPreviewLink: "templateA",
    adSeconds: 15,
    adTime: ad1Time
},{
    adName: "Basketball Team",
    adText: ["...","..."],
    adImg: ["images/img-b1.png", "images/img-b2.png", "", "", ""],
    adPreviewLink: "templateB",
    adSeconds: 10,
    adTime: ad2Time

}];
adTime属性也是一个对象:

var ad1Time = {
    hours: ["6","12"],
    day: [weekdaysEnum.monday, weekdaysEnum.wednsday],
    month: [monthEnum.march, monthEnum.april],
    year: 2016,
    daysNumber: []
}
现在我想检查adTime>>年,但我得到一个错误

未捕获的TypeError:无法读取未定义的属性“year”

下面是我如何检查该属性的:

var date = new Date();
var now_day = date.getDate();
var now_month = date.getMonth();
var now_year = date.getFullYear();

for (var i = 0; i < ads.length; i++) {
    if (ads[i].adTime.year == now_year) {
        for(var index_month; index_month < ads[i].adTime.month.length; index_month++)
        {
            if(ads[i].adTime.month[index_month] == now_month)
                console.log(ads[i].adName);
        }
    }

}
var-date=新日期();
var now_day=date.getDate();
var now_month=date.getMonth();
var now_year=date.getFullYear();
对于(变量i=0;i

那么错误在哪里(这里的错误是:ads[i].adTime.year)?谢谢。

您需要在“ads”之前定义“ad1Time”和“ad2Time”

当然可以。它看起来和ad1Timecode一样,看起来不错。你能创建一个plunkr吗?或者共享数据…给我们看完整的代码。你应该首先定义一个var,然后使用它。我想你已经定义了ad1Time,ad2Time,在你写ads之后。我在对象数组之后定义了对象。谢谢