--- title: Comma quibbling id: 596e414344c3b2872167f0fe challengeType: 5 videoUrl: '' localeTitle: Coma tartamudeando --- ## Description

La objeción de coma es una tarea establecida originalmente por Eric Lippert en su blog .

Tarea:

Escriba una función para generar una salida de cadena que sea la concatenación de palabras de entrada de una lista / secuencia donde:

Una entrada sin palabras produce la cadena de salida de solo los dos caracteres de refuerzo "{}". Una entrada de solo una palabra, por ejemplo, ["ABC"], produce la cadena de salida de la palabra dentro de las dos llaves, por ejemplo, "{ABC}". Una entrada de dos palabras, por ejemplo, ["ABC", "DEF"], produce la cadena de salida de las dos palabras dentro de las dos llaves con las palabras separadas por la cadena "y", por ejemplo, "{ABC y DEF}". Una entrada de tres o más palabras, por ejemplo, ["ABC", "DEF", "G", "H"], produce la cadena de salida de todos menos la última palabra separada por "," con la última palabra separada por "y "y todo dentro de llaves; por ejemplo, "{ABC, DEF, G y H}".

Pruebe su función con la siguiente serie de entradas que muestran su salida aquí en esta página:

[] # (No hay palabras de entrada). ["ABC"] ["ABC", "DEF"] ["ABC", "DEF", "G", "H"]

Nota: Suponga que las palabras son cadenas no vacías de caracteres en mayúscula para esta tarea.

## Instructions
## Tests
```yml tests: - text: quibble es una función. testString: 'assert(typeof quibble === "function", "quibble is a function.");' - text: 'quibble(["ABC"]) debe devolver una cadena.' testString: 'assert(typeof quibble(["ABC"]) === "string", "quibble(["ABC"]) should return a string.");' - text: 'quibble([]) debe devolver "{}".' testString: 'assert.equal(quibble(testCases[0]), results[0], "quibble([]) should return "{}".");' - text: 'quibble(["ABC"]) debe devolver "{ABC}".' testString: 'assert.equal(quibble(testCases[1]), results[1], "quibble(["ABC"]) should return "{ABC}".");' - text: 'quibble(["ABC", "DEF"]) debe devolver "{ABC and DEF}".' testString: 'assert.equal(quibble(testCases[2]), results[2], "quibble(["ABC", "DEF"]) should return "{ABC and DEF}".");' - text: 'quibble(["ABC", "DEF", "G", "H"]) debe devolver "{ABC, DEF, G y H}".' testString: 'assert.equal(quibble(testCases[3]), results[3], "quibble(["ABC", "DEF", "G", "H"]) should return "{ABC,DEF,G and H}".");' ```
## Challenge Seed
```js function quibble (words) { // Good luck! return true; } ```
### After Test
```js console.info('after the test'); ```
## Solution
```js // solution required ```