💻 Dev

🛠️ 처음부터 만드는 Pick — 객체에서 필요한 필드만 추출하기

# Pick: 객체 필터링의 기본

개념


`pick(obj, keys)`은 객체에서 지정한 키만 추출해 새 객체를 반환합니다. API 응답에서 필요한 필드만 골라내거나, 큰 객체를 축소할 때 유용합니다.
```javascript
// 기본 구현
function pick(obj, keys) {
return keys.reduce((acc, key) => {
if (key in obj) acc[key] = obj[key];
return acc;
}, {});
}
// 사용
const user = { id: 1, name: 'Alice', email: 'alice@example.com', password: 'secret' };
console.log(pick(user, ['id', 'name'])); // { id: 1, name: 'Alice' }
```

TypeScript 버전


```typescript
function pick(obj: T, keys: K[]): Pick {
return keys.reduce((acc, key) => {
if (key in obj) acc[key] = obj[key];
return acc;
}, {} as Pick);
}
const result = pick(user, ['id', 'name']); // { id: 1, name: 'Alice' }
```

실전 팁


  • 존재하지 않는 키는 무시하는 게 안전합니다

  • API 응답에서 민감한 정보 제거할 때 유용

  • `Object.fromEntries()` + `filter()`로도 구현 가능

  • 참고


    [Lodash pick](https://lodash.com/docs/#pick) | [TypeScript Pick 유틸리티](https://www.typescriptlang.org/docs/handbook/utility-types.html#picktype-keys)
    💬 0
    👁 0 views

    Comments (0)

    💬

    No comments yet.

    Be the first to comment!