typescript - Hur får man unionstyper av objektvärden inuti en array?


Till exempel, jag har en array

const list = [{id: 'a'}, {id: 'b'}, {id: 'c'}] as const;

och jag vill få unionstyp från alla värden av fältet id, dvs 'a'|'b'|'c'.

Svar #1

Du kan använda typeof list[number]["id"] för att få en union av alla id-värden.

const list = [{id: 'a'}, {id: 'b'}, {id: 'c'}] as const;
type Values = typeof list[number]["id"];