# generaltranslation: General Translation Core SDK: formatListToParts URL: https://generaltranslation.com/es/docs/core/class/methods/formatting/format-list-to-parts.mdx --- title: formatListToParts description: Referencia de la API del método formatListToParts para descomponer listas en partes mientras se conservan los tipos originales --- ## Descripción general El método `formatListToParts` da formato a un array en partes específicas de la configuración regional, insertando separadores de texto entre los elementos y conservando el tipo original de cada uno. A diferencia de `formatList`, que devuelve una sola cadena, este método devuelve un `Array` — lo que lo hace ideal para arrays de tipos mixtos que contienen cadenas, números, objetos o elementos JSX. ```typescript const gt = new GT({ locales: ['en'] }); const parts = gt.formatListToParts(['apple', 42, { type: 'fruit' }]); // Devuelve: ['apple', ', ', 42, ', and ', { type: 'fruit' }] ``` ## Referencia ### Parámetros | Nombre | Tipo | Descripción | | ---------- | ------------------------ | --------------------------------------------- | | `array` | `Array` | El array de elementos que se va a formatear | | `options?` | `ListFormatPartsOptions` | Configuración de formato opcional | ### ListFormatPartsOptions Extiende `Intl.ListFormatOptions` con una especificación adicional de configuración regional: | Nombre | Tipo | Descripción | | ---------- | ------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | | `locales?` | `string \| string[]` | Anula las configuraciones regionales para el formato (de forma predeterminada, usa las configuraciones regionales de la instancia) | | `type?` | `'conjunction' \| 'disjunction' \| 'unit'` | Tipo de formato de lista (predeterminado: `'conjunction'`) | | `style?` | `'long' \| 'short' \| 'narrow'` | Estilo de formato de lista (predeterminado: `'long'`) | ### Devuelve `Array` - Un array con los elementos originales intercalados con separadores de cadena específicos de cada configuración regional. *** ## Ejemplos ### Formato básico de listas ```typescript copy import { GT } from 'generaltranslation'; const gt = new GT({ locales: ['en'] }); // Conjunción (predeterminado) — lista con "and" console.log(gt.formatListToParts(['A', 'B', 'C'])); // Salida: ['A', ', ', 'B', ', and ', 'C'] // Disyunción — lista con "or" console.log(gt.formatListToParts(['A', 'B', 'C'], { type: 'disjunction' })); // Salida: ['A', ', ', 'B', ', or ', 'C'] ``` ### Arrays de tipos mixtos ```typescript copy // Los números y objetos se conservan console.log(gt.formatListToParts(['apple', 42, { type: 'fruit' }])); // Salida: ['apple', ', ', 42, ', and ', { type: 'fruit' }] ``` ### Variaciones de estilo ```typescript copy // Estilo corto console.log(gt.formatListToParts(['first', 'second'], { style: 'short' })); // Salida: ['first', ' & ', 'second'] // Estilo de unidad console.log(gt.formatListToParts(['1km', '2mi'], { type: 'unit' })); // Salida: ['1km', ', ', '2mi'] ``` ### Formato según la configuración regional ```typescript copy // Disyunción en español console.log(gt.formatListToParts(['red', 'green', 'blue'], { locales: ['es'], type: 'disjunction' })); // Salida: ['red', ', ', 'green', ' o ', 'blue'] ``` *** ## Notas * Se conservan los tipos de elemento originales: solo se insertan separadores de cadena entre los elementos * Esta es la principal diferencia con `formatList`, que devuelve una `cadena` plana * Es especialmente útil para renderizar arrays de tipos mixtos en frameworks de UI como React * El método usa internamente `Intl.ListFormat` nativo del navegador * `type: 'conjunction'` produce listas con "y", `'disjunction'` produce listas con "o" y `'unit'` produce listas de estilo unitario ## Siguientes pasos * Consulta la documentación de [`Intl.ListFormat`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/ListFormat) para conocer más opciones * Consulta [`format-num`](/docs/core/class/methods/formatting/format-num) para dar formato a números * Consulta la función autónoma [`format-list-to-parts`](/docs/core/functions/formatting/format-list-to-parts) para usarla sin una instancia de GT * Consulta [`format-message`](/docs/core/class/methods/formatting/format-message) para dar formato a mensajes con interpolación de listas