00004-easy-pick

Back

type MyPick<T, K extends keyof T> = {
  [P in K]: T[P]
}

Solution by notsecret32 #33604

// your answers

Solution by ralphjzhang #33603

type MyPick<T, K extends keyof T> = {
  [key in K] : T[key]
}

Solution by okasyun #33585

// 你的答案
type MyPick<T, K extends keyof T> = {
  [P in K]: T[P]
}

Solution by 95y #33580

type MyPick<T, K extends keyof T> = {
  [P in K] : T[P]
}

Solution by Jaewoneeee #33569

// 你的答案
type Pick<T, K extends keyof T> = {
    [P in K]: T[P]
}

Solution by heyuelan #33568

type MyPick<T extends Record<string, any>, K extends keyof T> = {
  [k in K]: T[k]
}

Solution by Danny101201 #33564

// 你的答案

type myPick<T, K extends keyof T> = { [key in K]: T[key] }

Solution by shx123qwe #33553

type MyPick<T, K extends string> = {
  [key in K]: key extends keyof T ? T[key] : undefined;
};

Solution by ouermaimeng #33548


type MyPick<T, K extends keyof T> = {
  [k in K]: T[k]
};

Solution by oo009pbh #33545

type MyPick<T, K extends keyof T> = {
  [Prop in K]: T[Prop]
}

Solution by Kolufs #33516

type MyPick<T, K extends keyof T> = {
  [key in K] : T[key]
}

Solution by brown2243 #33461

// keyof T를 이용해 K는 T의 Keys를 가지도록 함
type MyPick<T, K extends keyof T> = {
  // 타입 매핑 구분
  // K의 key를 반복, 해당 key의 반환타입을 지정 => key: T[key]
  [k in K]: T[k]
}

Solution by kukjun #33452

type MyPick<T, V extends keyof T> = { [v in V]: T[v]; }

This rids the errors from the code in the TypeScript playground, utilizing the extends keyof T to constrain V and keep it to only being an available property of T.

Solution by asorichetti #33396

// your answers

Solution by millordd #33373

// 你的答案
type MyPick<T, K extends keyof T> = {
  [key in K]: T[key]
}

Solution by chenjieya #33347

// 你的答案
type MyPick<T, K extends keyof T> = {
  [Key in K]: T[Key]
}

Solution by lvdengming #33328

// 여기 풀이를 입력하세요
type MyPick<T, K extends keyof T> = {
  [P in K]: T[P]
};

Solution by awesomelon #33317

// your answers
type MyPick<T,K extends keyof T> ={
   [key in K]: T[key]
}

Solution by Skytim #33286

// 你的答案

type MyPick<T, K extends keyof T> = {
  [P in K]: T[P];
}

Solution by UkiyoLee #33282

type MyPick<T, K> = {
  [P in keyof T as P & K]: T[P]
}

Solution by xinyin1010 #33188

type MyPick<T, K extends keyof T> = {
  [R in K]: T[R]
}

Solution by daishi-motoyama #33183

type MyPick<T, K extends keyof T> = {
  [Key in K] : T[Key]
}

Solution by seoksanghwan #33157

// your answers
type MyPick<T, K extends keyof T> = {
  [k in K]: T[k];
};

Solution by sarda10v #33153

type MyPick<T, K extends keyof T> = {
  [P in K]: T[P]
}

Solution by Tubring25 #33147

type MyPick<T extends Todo, K extends keyof T> = {
  [key in K]: T[key]
}

Solution by peznc810 #33135

type MyPick<T extends {[key in string]:any}, K extends keyof T> = {[key in K]:T[key]}

Many correct answers do not limit the type of T to objects. I think it would be better to limit this to objects and raise an error when making a mistake where you use it, what do you think? if I am wrong, please let me know!

Solution by kimtaejin3 #33125

type MyPick<T, K extends keyof T> = {[key in K]:T[key]} 

Solution by loevray #33123

type MyPick<T, K extends keyof T> = {[key in K] : T[key]}

Solution by seoksanghwan #33121

type MyPick<T, K extends keyof T> = {
  [key in K]:T[key]
}

Solution by XiaofeiCY #33086