我在JS中有一个简单的对象,用年份作为键,在几个月内。每个月我都想在里面存储信息。这是我的目标:
function generateYearMonths() {
var firstYear = 2012;
var todayDate = new Date(Date());
var lastYear = todayDate.getYear();
var yearsMonths = {}
var months = {}
for(var x=1; x<=12; x++) {
months[x.toString()] = {
totalExpenses: 0,
totalIncomes: 0,
totalBalance: 0
}
}
for(var x=firstYear; x<=lastYear; x++) {
yearsMonths[x] = months
}
return yearsMonths;
}
我想给一年和一个月赋值,例如2012年,第1个月,这是一个关键值。我这样做:
yearsMonths[2012][1]["totalExpenses"] = 23;
值23在1月份每年分配给。我不明白错误在哪里。我第一次尝试谷歌脚本,我不知道我做错了什么,我只想用值更新哈希。但对于每年一个月对的密钥,不是每个月覆盖一次。
请帮忙。
编辑--将月份移到循环表年份中
function generateYearMonths() {
var firstYear = 2012;
var todayDate = new Date(Date());
var lastYear = todayDate.getYear();
lastYear = 2013;
var yearsMonths = {}
for(var x=firstYear; x<=lastYear; x++) {
var months = {}
for(var x=1; x<=12; x++) {
months[x.toString()] = {
totalExpenses: 0,
totalIncomes: 0,
totalBalance: 0
}
}
yearsMonths[x] = months
}
return yearsMonths;
}
现在我不给每个月分配相同的值,因为脚本运行的时间是无限的…