求大神,关于javascript出现Uncaught TypeError: Cannot read property ✀11✀ of undefined错误

2025-04-30 22:36:54
推荐回答(4个)
回答1:

list[year][month].push( item );这句话很明显错误了,你的year是11,先不说month是多少,list[11]这个本身就是undefined了,再取一个month就变成undefined[month],当然会出错了

回答2:

var data = [];
data.push({
    'date': '1992-11-10',
    'intro': '我出生啦!',
    'media': ''
})
var list = {};
for (var i = 0; i < data.length; i++) {
    var date = new Date(data[i].date);
    var year = date.getFullYear();
    var month = date.getMonth() + 1;
    var item = data[i];
    item.year = year;
    item.month = month;
    if(!list[String(year)]) list[String(year)]={};
    if(!list[String(year)][String(month)]) list[String(year)][String(month)]=[];
    list[String(year)][String(month)].push(item);
    
};
console.log(list);

调试成功

回答3:

push方法时你自己创建的嘛?

回答4:

建议查阅date的构造器