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

<Meta title='@dxtmisha/ru/functional-basic/Functions/getObjectByKeys - Объект по списку ключей'/>

# `getObjectByKeys`

Создает и возвращает новый объект, в который копируются только свойства с указанными ключами из исходного объекта. Свойства, которых нет в исходном объекте или значение которых равно `undefined`, игнорируются при копировании.

**Параметры:**
- `data: Record<string, any>` — Исходный объект с данными.
- `keys: string[]` — Массив строковых ключей, которые необходимо извлечь.

**Возвращает:**
`Record<string, any>` — Новый объект, содержащий только найденные выбранные свойства. Одноименные значения, равные `undefined`, не попадут в результат.

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

const user = {
  id: 1,
  name: 'Ivan',
  role: 'admin',
  age: undefined, // undefined пропускаются
  active: true
}

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