简体   繁体   中英

How to add properties to a JSON in TypeScript?

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);

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)})
  }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM