オブジェクト リストの各オブジェクトに値を追加しています。しかし、すべてのループのすべてのオブジェクトに日付を追加する理由がわかりません。
これは私のコードです:
var emptyday: {
"date":""
}
//make list of days in month
var monthlist = [];
for (i=0;i<=days_in_months;i++) {
monthlist[i] = emptyday;
}
したがって、私の例では、days_in_months が 31 (日) であるとしましょう
いよいよ追加です
for (x=1;x<=days_in_months;x++) {
console.log(x);
if (x<10) {
daynumber = "0" + x;
} else {
daynumber = x;
}
datestring = year + "-"+ (month+1) + "-" + daynumber;
dayofmonth = monthlist[x];
dayofmonth["date"] = datestring;
//monthlist[x].date = datestring;
}
(dayofmonth["date"] = datestring または monthlist[x].date) を追加しようとすると、ループごとにすべてのオブジェクトのすべての日付値に追加されます。
最初のループの console.log は次のようになります。
[オブジェクト{日付= "2013-1-01"}、オブジェクト{日付= "2013-1-01"}、オブジェクト{日付= "2013-1-01"}、オブジェクト{日付= "2013-1-01 "}、オブジェクト{日付= "2013-1-01"}、オブジェクト{日付= "2013-1-01"}など
最初のループで 31 回
そして最後のループでは 2013-1-31 になります
その値をすべてのオブジェクトに追加する理由がわかりません。私は console.log を試し、あちこちでデバッグを行って値を読み取り、何が問題なのかを理解しようとしましたが、まだ解決策が見つかりませんでした