# Перебор объекта

Перебирает свойства с lodash _.forIn

> Каноническая страница: https://elysiatools.com/ru/tools/for-in-object

- **Категория:** Data Processing

- **Ключевые слова:** forIn, объект, lodash, перебор, записи

## Обзор

Перебирает собственные и наследуемые перечислимые свойства объекта.

**Особенности:**
- Использует lodash `_.forIn`
- Включает наследуемые перечислимые свойства
- Возвращает упорядоченный список пар ключ/значение

**Пример:**
- Объект: `{"a":1,"b":2}`
- Результат: `[{"key":"a","value":1},{"key":"b","value":2}]`

## Входные данные

- **Объект** (textarea): Введите JSON объект

## Когда использовать

- Когда необходимо получить полный список всех свойств объекта, включая унаследованные.
- Для преобразования объекта в массив пар ключ-значение для анализа или обработки.
- При отладке кода для проверки структуры и содержимого объектов.

## Как это работает

- Вставьте JSON-объект в предоставленное текстовое поле.
- Инструмент использует функцию _.forIn из библиотеки lodash для итерации по свойствам.
- Результат выводится в виде упорядоченного массива объектов с ключами и значениями.
- Перебираются как собственные, так и наследуемые перечислимые свойства.

## Сценарии использования

- Извлечение всех свойств объекта конфигурации для создания документации или отчетов.
- Преобразование объекта данных в формат, удобный для итерации в циклах или передачи в другие функции.
- Анализ прототипной цепочки объекта при отладке JavaScript-кода.

## Частые вопросы

### Что делает этот инструмент?

Перебирает свойства объекта, включая наследуемые перечислимые, и возвращает их в виде списка пар ключ-значение.

### Какой формат входных данных требуется?

Входные данные должны быть в формате JSON-объекта, например, {"a":1, "b":2}.

### Включает ли инструмент неперечислимые свойства?

Нет, инструмент перебирает только перечислимые свойства, как определено в JavaScript.

### Можно ли использовать для массивов или других типов данных?

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

### Какова структура выходных данных?

Выходные данные представляют собой массив объектов вида {"key": "имя_ключа", "value": значение}, упорядоченный по перебору.

## Связанные инструменты

- [Назначить с наследованием](https://elysiatools.com/ru/tools/assign-in-object): Назначает собственные и наследуемые свойства с lodash _.assignIn
- [Глубокие значения по умолчанию](https://elysiatools.com/ru/tools/defaults-deep): Применяет глубокие значения по умолчанию с lodash _.defaultsDeep
- [Перебор собственных](https://elysiatools.com/ru/tools/for-own): Перебирает собственные свойства с lodash _.forOwn
- [Список унаследованных ключей](https://elysiatools.com/ru/tools/keys-in-list): Список собственных и унаследованных ключей с lodash _.keysIn
- [Список ключей](https://elysiatools.com/ru/tools/keys-list): Список собственных ключей с lodash _.keys
- [Счет по ключу](https://elysiatools.com/ru/tools/count-by): Считает элементы по ключу с lodash _.countBy
- [Найти ключ](https://elysiatools.com/ru/tools/find-key): Находит первый подходящий ключ с lodash _.findKey
- [Получить путь](https://elysiatools.com/ru/tools/get-path): Читает значение по пути с lodash _.get

## Примеры

- [Примеры QR-кодов](https://elysiatools.com/ru/samples/qrcode-samples): Примерные изображения QR-кодов для тестирования инструментов чтения и генерации QR-кодов
- [Примеры Расширенного Применения Grafana](https://elysiatools.com/ru/samples/grafana-samples): Комплексные примеры Grafana, охватывающие продвинутый дизайн дашбордов, конфигурацию оповещений, интеграцию источников данных и разработку плагинов
- [Примеры Распределенного Трейсинга](https://elysiatools.com/ru/samples/distributed-tracing-samples): Комплексные примеры распределенного трейсинга с использованием Jaeger, OpenTelemetry и современных инструментов
- [Примеры Анализа Логов ELK Stack](https://elysiatools.com/ru/samples/elk-stack-samples): Комплексные примеры ELK Stack для агрегации, обработки и визуализации логов в распределенных системах
