import { Meta } from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/vi/functional-basic/Functions/getObjectByKeys - Lấy object theo danh sách khóa'/>

# `getObjectByKeys`

Tạo và trả về một đối tượng mới chỉ bao gồm các thuộc tính có khóa tương ứng nằm trong danh sách truyền vào. Các thuộc tính không tồn tại trong đối tượng gốc hoặc có giá trị bằng `undefined` sẽ bị bỏ qua khi sao chép.

**Tham số:**
- `data: Record<string, any>` — Đối tượng nguồn chứa dữ liệu ban đầu.
- `keys: string[]` — Mảng các chuỗi đại diện cho khóa cần trích xuất.

**Trả về:**
`Record<string, any>` — Một đối tượng mới chỉ chứa các thuộc tính đã được chọn. Các giá trị `undefined` sẽ không được thêm vào kết quả trả về.

```typescript
import { getObjectByKeys } from '@dxtmisha/functional-basic'

const user = {
  id: 1,
  name: 'Ivan',
  role: 'admin',
  age: undefined, // giá trị undefined sẽ bị bỏ qua
  active: true
}

const result = getObjectByKeys(user, ['id', 'name', 'age', 'token'])
console.log(result) // { id: 1, name: 'Ivan' }
```
