前提・実現したいこと
連想配列(?)で重複しているものを別々にしたい
発生している問題・エラーメッセージ
別ページで日にちを入力してもらい、それをJSONでlocalStorageに保存してとりだして、日付順にリストアップするものを作っています。が、同じ日にちを登録すると上書きされてしまいます。1つ1つを別に表示させるにはどうすればいいでしょうか?
該当のソースコード
var date = new Date();
//console.log(date);
var data = [];
window.onload = function(){
hyouji();
}
function hyouji(){
var m = date.getMonth() +1;
var y = date.getFullYear();
var thisyear = y + "年";
var thismonth = m + "月";
document.getElementById("month").innerHTML = thisyear + thismonth;
var kongetu = y +"-"+m+"-";
var nextid = parseInt(localStorage.getItem("nextid"));
var schedule_html = "";
var a = "";
var arr_data = [];
for(var i=1;i<=nextid;i++){
var data = JSON.parse(localStorage.getItem(i))
if(data === null){
} else {
d_kinngaku = parseInt(data.kinngaku);
d_date = (data.date);
d_memo = (data.memo);
arr_data[d_date] = {id:i,date:d_date,kinngaku:d_kinngaku,memo:d_memo};
}
}
var month = y+"-"+m;
if(m<10){
month = y+"-0"+m;
}
for(var d=1;d<=31;d++){
var day=month +"-"+ d;
if(d<10){
day = month+"-0"+d;
}
if(Object.keys(arr_data).indexOf(day) >= 0){
schedule_html += "<div onclick=\"edititem('"+arr_data[day].id+"')\">"+day+"<br>"+" "+arr_data[day].memo+"<br>"+" "+"¥"+arr_data[day].kinngaku+"</div><hr>"; a = Object.keys(arr_data).indexOf(day); //console.log(a); }
}
document.getElementById("schedule").innerHTML = schedule_html;
}
試したこと
初心者なりに考えて、日付順に並べ替えしている時点でd_dateが同じだと上書きされていると思うので、idなどを使って上書きせずに別々に存在するようにしたいです。
補足情報(FW/ツールのバージョンなど)
学校の授業でかじった程度しかわからないので、初歩的なことしかわかりません。よろしくお願いします。