typer - Typescript, begrens nøkler til array-elementer
Redigert: Endre id-typen
Jeg har et array med de følgende verdiene
const ids: number[] = [45, 56];
const obj: any = {
45: "HELLO",
56: "WORLD",
};
Jeg vil gjerne angi den nåværende any-typen til objektet mitt for å begrense det til verdiene i ids-arrayen min.
Jeg prøvde med oppslagstype, men jeg lyktes ikke…
Noen idé?
Hilsen
Svar #1
Du kan bruke den Record mappede typen. Du må også bruke en const påstand for å fange de bokstavelige typene til array-elementene:
const ids = [45, 56] as const;
const obj: Record<typeof ids[number], string> = {
45: "HELLO",
56: "WORLD",
};
const obj2: Record<typeof ids[number], string> = {
45: "HELLO",
56: "WORLD",
57: "WORLD", // error
};
