如何在 TypeScript 中向 JSON 添加属性?

How to add properties to a JSON in TypeScript?

我有以下代码:

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
}

我不知道为什么我得到

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

在这一行 entries.date = date ;

和:

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

在这一行

entries.summary= parseRawSummary(rawSummary);

在下面的for循环中:

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

entries 是一个数组。数组中不存在日期 属性 和摘要 属性。您可以改为执行以下操作:

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