Así que estoy consultando una base de datos sql y obteniendo un resultado como
[ { id: '626916199783071750', birthdays: '10/3' }, { id: '797279656595947531', birthdays: '01/02' }, { id: '548976894576849555', birthdays: '3/24' } ]Pero podría tener más columnas o filas, así que podría ser algo como esto
[ { id: '626916199783071750', username: 'whatever', idk: true }, { id: '797279656595947531', username: 'thing', idk: false}, { id: '7972656595947531', username: 'idk', idk: true }, { id: '874596745986988596', username: 'cooldude', idk: false } ]Quiero convertirlo en una tabla que envíe a la consola, algo así como
+--------------------+----------+ | ID | Birthday | +--------------------+----------+ | 626916199783071750 | 10/3 | +--------------------+----------+ | 797279656595947531 | 01/02 | +--------------------+----------+ | 548976894576849555 | 3/24 | +--------------------+----------+Donde agrega el formato y la cantidad correcta de filas/columnas. Usaría un paquete npm pero parece que no puedo encontrar uno que tome una matriz de objetos y genere una tabla.
Hay una forma integrada muy útil de hacer esto (también funciona en el navegador) usando console.table ( documentación de Node.js ).
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]); // ┌─────────┬─────┬─────┐ // │ (index) │ a │ b │ // ├─────────┼─────┼─────┤ // │ 0 │ 1 │ 'Y' │ // │ 1 │ 'Z' │ 2 │ // └─────────┴─────┴─────┘Incluso puede restringir qué propiedades se imprimen:
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']); // ┌─────────┬─────┐ // │ (index) │ a │ // ├─────────┼─────┤ // │ 0 │ 1 │ // │ 1 │ 'Z' │ // └─────────┴─────┘