StudyForYou / ouahhan-typescript-with-react

์šฐ์•„ํ•œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ with ๋ฆฌ์•กํŠธ ์Šคํ„ฐ๋”” ๋ ˆํฌ ๐Ÿงต
4 stars 0 forks source link

๐Ÿ”ฅtype-challenges_04_ 00011 - Tuple to Object #44

Closed hyeyoonS closed 2 months ago

hyeyoonS commented 2 months ago

Tuple to Object ์‰ฌ์›€ #object-keys

by sinoon @sinoon

๋„์ „ํ•˜๊ธฐ    English ็ฎ€ไฝ“ไธญๆ–‡ ๆ—ฅๆœฌ่ชž

๋ฐฐ์—ด(ํŠœํ”Œ)์„ ๋ฐ›์•„, ๊ฐ ์›์†Œ์˜ ๊ฐ’์„ key/value๋กœ ๊ฐ–๋Š” ์˜ค๋ธŒ์ ํŠธ ํƒ€์ž…์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํƒ€์ž…์„ ๊ตฌํ˜„ํ•˜์„ธ์š”.

์˜ˆ์‹œ:

const tuple = ['tesla', 'model 3', 'model X', 'model Y'] as const

type result = TupleToObject<typeof tuple> // expected { 'tesla': 'tesla', 'model 3': 'model 3', 'model X': 'model X', 'model Y': 'model Y'}

๋Œ์•„๊ฐ€๊ธฐ ์ •๋‹ต ๊ณต์œ ํ•˜๊ธฐ ์ •๋‹ต ๋ณด๊ธฐ

๊ด€๋ จ๋œ ๋ฌธ์ œ๋“ค

10ใƒปTuple to Union 472ใƒปTuple to Enum Object 730ใƒปUnion to Tuple 3188ใƒปTuple to Nested Object
hyeyoonS commented 2 months ago
type TupleToObject<T extends readonly any[]> = {
  [K in T[number]]: K;
};
type TupleToObject<T extends readonly PropertyKey[]> = {
  [P in T[number]]: P
}
drizzle96 commented 2 months ago
type TupleToObject<T extends readonly PropertyKey[]> = {
  [P in T[number]]: P
}