Skip to content

Latest commit

History

History
176 lines (138 loc) 路 4.71 KB

README.md

File metadata and controls

176 lines (138 loc) 路 4.71 KB

Reto_21

Hay muchas cartas de ni帽os pidiendo regalos y es muy dif铆cil que podamos hacer inventario de todos ellos. Por eso, hemos decidido crear un programa que nos dibuje una tabla con los regalos que nos piden y sus cantidades.

Para ello nos dan un array de objetos con los nombres de los regalos y sus cantidades. Escribe una funci贸n que reciba este array y devuelva una cadena con la tabla dibujada.

printTable([
  { name: 'Game', quantity: 2 },
  { name: 'Bike', quantity: 1 },
  { name: 'Book', quantity: 3 },
]);
+++++++++++++++++++
| Gift | Quantity |
| ---- | -------- |
| Game | 2        |
| Bike | 1        |
| Book | 3        |
*******************

Otro ejemplo donde se puede ver que la tabla siempre usa s贸lo el espacio justo dependiendo de la longitud de los nombres de los regalos y de las cantidades.

printTable([
  { name: 'PlayStation 5', quantity: 9234782374892 },
  { name: 'Book Learn Web Dev', quantity: 23531 },
]);
++++++++++++++++++++++++++++++++++++++
| Gift               | Quantity      |
| ------------------ | ------------- |
| PlayStation 5      | 9234782374892 |
| Book Learn Web Dev | 23531         |
**************************************

Como ves, el tama帽o de las celdas depende de la longitud de los nombres de los regalos y de las cantidades, aunque como m铆nimo tendr谩n que ser del espacio de los t铆tulos Gift y Quantity respectivamente.

La tabla usa los s铆mbolos: + para el borde superior, * para el borde inferior, - para las l铆neas horizontales y | para las l铆neas verticales.

Ten en cuenta:

  • Usa s贸lo el espacio que necesitas para dibujar la tabla.
  • Adapta la tabla a la longitud de los nombres de los regalos y de las cantidades o los t铆tulos de las columnas.
  • No hace falta que ordenes los resultados.
  • La tabla no termina con salto de l铆nea.

Resultados

Test #01

Test: return type;

Expected: 'string';

Actual: 'string';

Test #02

Test: printTable([
  { name: 'PlayStation 5', quantity: 9234782374892 },
  { name: 'Book Learn Web Dev', quantity: 23531 },
]);

Expected: '++++++++++++++++++++++++++++++++++++++\n
           | Gift               | Quantity      |\n
           | ------------------ | ------------- |\n
           | PlayStation 5      | 9234782374892 |\n
           | Book Learn Web Dev | 23531         |\n
           **************************************';

Actual: '++++++++++++++++++++++++++++++++++++++\n
         | Gift               | Quantity      |\n
         | ------------------ | ------------- |\n
         | PlayStation 5      | 9234782374892 |\n
         | Book Learn Web Dev | 23531         |\n
         **************************************';

Test #03

Test: printTable([
  { name: 'Game', quantity: 2 },
  { name: 'Bike', quantity: 1 },
  { name: 'Book', quantity: 3 },
]);

Expected: '+++++++++++++++++++\n
           | Gift | Quantity |\n
           | ---- | -------- |\n
           | Game | 2        |\n
           | Bike | 1        |\n
           | Book | 3        |\n
           *******************';

Actual: '+++++++++++++++++++\n
         | Gift | Quantity |\n
         | ---- | -------- |\n
         | Game | 2        |\n
         | Bike | 1        |\n
         | Book | 3        |\n
         *******************';

Test #04

Test: printTable([{ name: 'Game', quantity: 10000 }]);

Expected: '+++++++++++++++++++\n
           | Gift | Quantity |\n
           | ---- | -------- |\n
           | Game | 10000    |\n
           *******************';

Actual:   '+++++++++++++++++++\n
           | Gift | Quantity |\n
           | ---- | -------- |\n
           | Game | 10000    |\n
           *******************';

Test #05

Test: printTable([{ name: 'Game', quantity: 1234567890 }]);

Expected: '+++++++++++++++++++++\n
           | Gift | Quantity   |\n
           | ---- | ---------- |\n
           | Game | 1234567890 |\n
           *********************';

Actual:   '+++++++++++++++++++++\n
           | Gift | Quantity   |\n
           | ---- | ---------- |\n
           | Game | 1234567890 |\n
           *********************';

Test #06

Test: printTable([
  { name: 'Toy', quantity: 12 },
  { name: 'Mic', quantity: 123 },
]);

Expected: '+++++++++++++++++++\n
           | Gift | Quantity |\n
           | ---- | -------- |\n
           | Toy  | 12       |\n
           | Mic  | 123      |\n
           *******************';

Actual:   '+++++++++++++++++++\n
           | Gift | Quantity |\n
           | ---- | -------- |\n
           | Toy  | 12       |\n
           | Mic  | 123      |\n
           *******************';