# 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 dar formato a listas en partes y conservar los tipos originales --- ## Resumen 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 preservando los tipos originales de cada uno. A diferencia de `formatList`, que devuelve una cadena plana, 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 al que se va a dar formato | | `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[]` | Sobrescribe las `locales` usadas para dar formato (de forma predeterminada, se usan las `locales` de la instancia) | | `type?` | `'conjunction' \| 'disjunction' \| 'unit'` | Tipo de formato de listas (predeterminado: `'conjunction'`) | | `style?` | `'long' \| 'short' \| 'narrow'` | Estilo de formato de listas (predeterminado: `'long'`) | ### Devuelve `Array` - Un array con los elementos originales intercalados con separadores de texto específicos de la 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'] ``` ### array de tipo mixto ```typescript copy // Los números y objetos se conservan console.log(gt.formatListToParts(['apple', 42, { type: 'fruit' }])); // Salida: ['apple', ', ', 42, ', and ', { type: 'fruit' }] ``` ### Variantes 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 específico de 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 originales de los elementos; solo se insertan separadores de texto entre ellos * Este es el diferenciador clave frente a `formatList`, que devuelve una `cadena` plana * Es especialmente útil para renderizar arrays de tipos mixtos en frameworks de interfaz de usuario como React * El método usa internamente `Intl.ListFormat`, nativo del navegador * `type: 'conjunction'` produce listas con "and", `'disjunction'` produce listas con "or" y `'unit'` produce listas con formato de unidad ## 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 el formato de número * Consulta la función independiente [`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