Home > OS >  How to add properties to a JSON in TypeScript?
How to add properties to a JSON in TypeScript?

Time:03-14

I have the following code:

type DailySummaryEntrry = {date: string, summary: ParsedSummary};

function parseDailySummaries (summaries: DailyRawSummaries): DailySummaryEntrry[] {
  const entries: DailySummaryEntrry[] = [];

  for (const date in summaries) {
    const rawSummary = summaries[date];
    if (!rawSummary) continue;
    entries.date = date ;
    entries.summary= parseRawSummary(rawSummary);
  }
  return entries.sort().reverse(); // sort by newest date first
}

I don't know why do I get

Property 'date' does not exist on type 'DailySummaryEntrry[]'.deno-ts(2339)

at this line entries.date = date ;

and:

Property 'summary' does not exist on type 'DailySummaryEntrry[]'.deno-ts(2339)

At this line

entries.summary= parseRawSummary(rawSummary);

CodePudding user response:

In the following for loop:

  for (const date in summaries) {
    const rawSummary = summaries[date];
    if (!rawSummary) continue;
    entries.date = date ;
    entries.summary= parseRawSummary(rawSummary);
  }

entries is an array. the date property and summary property dont exist on an array. What you could do instead is the following:

  for (const date in summaries) {
    const rawSummary = summaries[date];
    if (!rawSummary) continue;
    entries.push({date: date, summary: parseRawSummary(rawSummary)})
  }
  • Related