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.
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}".");'
```