--- title: Align columns id: 594810f028c0303b75339ad0 challengeType: 5 videoUrl: '' localeTitle: Alinear columnas --- ## Description

Dado un archivo de texto de muchas líneas, donde los campos dentro de una línea están delineados por un solo carácter de $ , escriba un programa que alinee cada columna de campos asegurándose de que las palabras en cada columna estén separadas por al menos un espacio. Además, permita que cada palabra en una columna se justifique a la izquierda, a la derecha o al centro dentro de su columna.

Usa el siguiente texto para probar tus programas:

 Dado $ a $ text $ file $ of $ many $ lines
donde $ campos $ dentro de $ a $ línea $
son $ delineados $ por $ a $ solo $ 'dólar' $ carácter
programa $ a $ programa
que $ alinea $ cada $ columna $ de $ campos
asegurando $ $ $ $ palabras $ en $ cada $
columna $ son $ separados $ por $ en $ al menos $ un $ espacio.
Además, $ permite $ por $ cada $ palabra $ en $ a $ columna $ a $ be $ o $ left $
justificado, $ derecho $ justificado
o $ center $ justified $ dentro de $ su $ columna.

Tenga en cuenta que:

Las líneas de texto de entrada de ejemplo pueden, o no, tener caracteres de dólar de cola. Todas las columnas deben compartir la misma alineación. Los caracteres de espacio consecutivo producidos adyacentes al final de las líneas son insignificantes para los propósitos de la tarea. El texto de salida se verá en una fuente mono-espaciada en un editor de texto plano o terminal básico. El espacio mínimo entre columnas debe calcularse a partir del texto y no codificarse. No es un requisito agregar caracteres de separación entre o alrededor de columnas.
## Instructions
## Tests
```yml tests: - text: formatText es una función. testString: 'assert(typeof formatText === "function", "formatText is a function.");' - text: 'formatText con la entrada anterior y la justificación "correcta" debe producir lo siguiente:' testString: 'assert.strictEqual(formatText(testInput, "right"), rightAligned, "formatText with the above input and "right" justification should produce the following: ");' - text: 'formatText con la entrada anterior y la justificación "izquierda" debe producir lo siguiente:' testString: 'assert.strictEqual(formatText(testInput, "left"), leftAligned, "formatText with the above input and "left" justification should produce the following: ");' - text: 'formatText con la entrada anterior y la justificación "central" debe producir lo siguiente:' testString: 'assert.strictEqual(formatText(testInput, "center"), centerAligned, "formatText with the above input and "center" justification should produce the following: ");' ```
## Challenge Seed
```js const testArr = [ 'Given$a$text$file$of$many$lines', 'where$fields$within$a$line$', 'are$delineated$by$a$single$"dollar"$character', 'write$a$program', 'that$aligns$each$column$of$fields$', 'by$ensuring$that$words$in$each$', 'column$are$separated$by$at$least$one$space.', 'Further,$allow$for$each$word$in$a$column$to$be$either$left$', 'justified,$right$justified', 'or$center$justified$within$its$column.' ]; function formatText (input, justification) { // Good luck! } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```