I have a data object model like the following:
export class JournalEntries {
id?: number;
year?: string;
month: string;
link?: string;
months?: any;
}
A sample data would be:
"journalentries": [
{
"id": "2000001",
"year": "2021",
"months": [
{
"year": "2021",
"month": "January",
"link": "Jan_Feb_2021"
},
{
"year": "2021",
"month": "February",
"link": "Jan_Feb_2021"
},
...
{
"year": "2021",
"month": "December",
"link": ""
}
]
},
{
"id": "2000002",
"year": "2020",
"months": [
{
"year": "2020",
"month": "January",
"link": "Jan_Feb_2020"
},
{
"year": "2020",
"month": "February",
"link": "Jan_Feb_2020"
},
...
{
"year": "2020",
"month": "December",
"link": "Dec_2020"
}
]
},
]
My problem is, I can't seem to add a new month data to the nested array in the appropriate year. So if I add 2021, May, and some_link in the text boxes in the HTML part, it doesnt add it to the nested array. it adds it to the Main array. Which makes sense because this is what I have in the saveJournals click event
this.journals.unshift( //putting it on the journals array
{
year: this.selectedRowData.year,
month: this.selectedRowData.month,
link: this.selectedRowData.link
}
)
So I get why it's doing that. But the following is coming up with an error
this.journals.months.unshift( //Same with this.journals[].months.unshift
{
year: this.selectedRowData.year,
month: this.selectedRowData.month,
link: this.selectedRowData.link
}
)
I understand this could be a combination of problems, but I'm hoping someone knows the solution even with the vague data.
My expected goal is, if year already exist, add (year, month, link) to its months array else create year with new months array. Shooot! I'd be happy if you can help me with the unshift part only!
Via Active questions tagged javascript - Stack Overflow https://ift.tt/2FdjaAW
Comments
Post a Comment