What is console.table?
The console.table npm package allows you to display tabular data in a visually appealing table format directly in the console. This can be particularly useful for debugging and logging purposes, making it easier to read and understand complex data structures.
What are console.table's main functionalities?
Display Array of Objects
This feature allows you to display an array of objects in a table format. Each object represents a row, and the keys of the objects represent the columns.
const cTable = require('console.table');
const data = [
{ name: 'John', age: 30 },
{ name: 'Jane', age: 25 }
];
console.table(data);
Display Array of Arrays
This feature allows you to display an array of arrays in a table format. Each inner array represents a row, and the elements of the inner arrays represent the columns.
const cTable = require('console.table');
const data = [
['John', 30],
['Jane', 25]
];
console.table(data);
Display Object of Objects
This feature allows you to display an object of objects in a table format. Each key-value pair in the outer object represents a row, and the keys of the inner objects represent the columns.
const cTable = require('console.table');
const data = {
person1: { name: 'John', age: 30 },
person2: { name: 'Jane', age: 25 }
};
console.table(data);
Other packages similar to console.table
cli-table
The cli-table package provides a way to create tables in the console with more customization options compared to console.table. It allows for custom table styles, colors, and alignment, making it more flexible for complex table displays.
table
The table package is another alternative that offers extensive customization options for creating tables in the console. It supports features like text wrapping, column alignment, and border styles, making it suitable for more advanced table formatting needs.
console.table
Adds console.table method for convenience
Install
npm install console.table --save
bower install console.table --save
Use in Node
// call once somewhere in the beginning of the app
const cTable = require('console.table');
console.table([
{
name: 'foo',
age: 10
}, {
name: 'bar',
age: 20
}
]);
// prints
name age
---- ---
foo 10
bar 20
You can pass multiple strings and arrays in a single console.table call.
Each argument will be formatted and printed separately on new line
Get only table string
const table = cTable.getTable([
{
name: 'foo',
age: 10
}, {
name: 'bar',
age: 20
}
]);
console.log(table);
// prints
name age
---- ---
foo 10
bar 20
Use in browser
INCOMPLETE, PROBABLY CHROME ONLY FOR NOW
<script src="bower_components/console.table/dist/console.table.js"></script>
<script>
console.table([{name: 'foo'}, {name: 'bar'}]);
</script>
Details
Uses easy-table for printing
to console.log
If first argument is a string, and a second argument is an array, prints
title row
console.table('Several objects', [...]);
Several objects
---------------
name age
---- ---
foo 10
bar 20
baz 30
Printing array with column names
You can use the given column names when printing an array of arrays. For example,
var values = [
['max', 20],
['joe', 30]
];
console.table(['name', 'age'], values);
name age
---- ---
max 20
joe 30
If the titles is the first item in the array, just use slice
var values = [
['name', 'age'],
['max', 20],
['joe', 30]
]
console.table(values[0], values.slice(1));
Small print
Author: Gleb Bahmutov © 2014
License: MIT - do anything with the code, but don't blame me if it does not work.
Spread the word: tweet, star on github, etc.
Support: if you find any problems with this module, email / tweet /
open issue on Github
MIT License
Copyright (c) 2014 Gleb Bahmutov
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.