简体   繁体   中英

Typescript: formatting nested type in interface

I have interface CountersData that I would like to model off of my JSON data. As seen below, I have a nested id (in example below 1830 and 1835 are ids ) property that is a array of a nested dictionaries, which I also want to be optional .

I have been unable to make it optional, so I am unable to fetch the proper data. How should this data be formatted? See below my code and the JSON format.

interface CountersData {
  //other properties

  //want this to be optional
  [id: number]: {
    count_targets: number;
    count_targets_excluded: number;
    count_targets_pending: number;
    count_targets_in_progress: number;
    count_targets_completed: number;
    count_targets_failed: number;
  }[];

  [key: string]: number | string | any | undefined;
}

在此处输入图像描述

您的示例非常好,结帐游乐场

You can make the property optional like this:

type CountersData = {
    [key in number]?: {
        count_targets: number;
        count_targets_excluded: number;
        count_targets_pending: number;
        count_targets_in_progress: number;
        count_targets_completed: number;
        count_targets_failed: number;
    }[];
} & { [key: string]: number | string | any | undefined };

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