# generaltranslation: General Translation Core SDK: formatListToParts URL: https://generaltranslation.com/ru/docs/core/functions/formatting/format-list-to-parts.mdx --- title: formatListToParts description: Автономная функция для форматирования списков в виде частей с сохранением исходных типов --- ## Обзор Автономная функция `formatListToParts` форматирует массив в части с учётом локали, не требуя создания экземпляра GT. Она вставляет между элементами строковые разделители, сохраняя исходные типы каждого элемента, и возвращает `Array`. ```typescript import { formatListToParts } from 'generaltranslation'; const parts = formatListToParts(['red', 'green', 'blue'], { locales: ['es'], type: 'disjunction' }); // Возвращает: ['red', ', ', 'green', ' o ', 'blue'] ``` ## Справка ### Параметры | Имя | Тип | Описание | | --------- | ---------------------------------------------------------- | --------------------------------------------------------- | | `array` | `Array` | Массив элементов для форматирования | | `options` | `ListFormatPartsOptions & { locales: string \| string[] }` | Параметры форматирования с обязательным указанием локалей | ### ListFormatPartsOptions | Имя | Тип | Описание | | --------- | ------------------------------------------ | --------------------------------------------------------- | | `locales` | `string \| string[]` | **Обязательно** — локали для форматирования | | `type?` | `'conjunction' \| 'disjunction' \| 'unit'` | Тип форматирования списка (по умолчанию: `'conjunction'`) | | `style?` | `'long' \| 'short' \| 'narrow'` | Стиль форматирования списка (по умолчанию: `'long'`) | ### Возвращает `Array` — массив исходных элементов со вставленными между ними строковыми разделителями для конкретной локали. *** ## Пример ### Основное использование ```typescript copy import { formatListToParts } from 'generaltranslation'; // Список с союзом «и» console.log(formatListToParts(['A', 'B', 'C'], { locales: 'en' })); // Вывод: ['A', ', ', 'B', ', and ', 'C'] // Разделительный список console.log(formatListToParts(['A', 'B', 'C'], { locales: 'en', type: 'disjunction' })); // Вывод: ['A', ', ', 'B', ', or ', 'C'] ``` ### Массивы смешанных типов ```typescript copy // Числа и объекты сохраняются console.log(formatListToParts(['apple', 42, { type: 'fruit' }], { locales: 'en' })); // Вывод: ['apple', ', ', 42, ', and ', { type: 'fruit' }] ``` ### Форматирование для конкретной локали ```typescript copy // Испанское разделительное перечисление console.log(formatListToParts(['red', 'green', 'blue'], { locales: 'es', type: 'disjunction' })); // Вывод: ['red', ', ', 'green', ' o ', 'blue'] // Краткий стиль console.log(formatListToParts(['first', 'second'], { locales: 'en', style: 'short' })); // Вывод: ['first', ' & ', 'second'] ``` *** ## Примечания * В отличие от метода класса GT, параметр `locales` является обязательным * Исходные типы элементов сохраняются — между элементами добавляются только строковые разделители * В этом его ключевое отличие от `formatList`, который возвращает простую `string` * Особенно полезно при рендеринге массивов со смешанными типами в UI-фреймворках, таких как React * Использует тот же `Intl.ListFormat`, что и метод класса GT ## Что дальше * Ознакомьтесь с [документацией `Intl.ListFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat), чтобы узнать о других возможностях * См. [`formatNum`](/docs/core/functions/formatting/format-num) для автономного форматирования чисел * См. [`formatDateTime`](/docs/core/functions/formatting/format-date-time) для автономного форматирования даты * См. метод класса GT [`formatListToParts`](/docs/core/class/methods/formatting/format-list-to-parts) для использования через экземпляр