ASCII-Tabelle
Einfache Tabellenausgabe zum Debuggen von Knoten, aber Sie könnten wahrscheinlich mehr damit machen, da es sich nur um einen String handelt.
Inhaltsverzeichnis
- Verwendungszweck
- Beispiel
- API
- Statische Methoden
- Instanzmethoden
- setBorder([Rand], [Füllen], [oben], [unten])
- Rahmen entfernen()
- setAlign(idx, Richtung)
- setAlignLeft(idx)
- setAlignCenter(idx)
- setAlignRight(idx)
- setTitle(Titel)
- getTitle()
- setTitleAlign(Richtung)
- setTitleAlignLeft()
- setTitleAlignCenter()
- setTitleAlignRight()
- sort([iterator])
- sortColumn(idx, [iterator])
- setHeading(Überschrift, [...])
- setHeadingAlign(Richtung)
- setHeadingAlignLeft()
- setHeadingAlignCenter()
- setHeadingAlignRight()
- addRow(Zeile, [...])
- addRowMatrix(Zeilen)
- setJustify([aktiviert])
- toString()
- toJSON()
- fromJSON(obj)
- klar()
- clearRows()
- Installieren
- Mitwirkende
- Lizenz
Verwendungszweck
Node.js
1var AsciiTable = require('ascii-table')
Browser
1<script src="ascii-table.min.js"></script>
Hinweis : Bei Verwendung im Browser wird es unter . platziertwindow.AsciiTable
Beispiel
Grundlegende Verwendung
1
2
3
4
5
6
7
8var table = new AsciiTable('A Title')
table
.setHeading('', 'Name', 'Age')
.addRow(1, 'Bob', 52)
.addRow(2, 'John', 34)
.addRow(3, 'Jim', 83)
console.log(table.toString())
1
2
3
4
5
6
7
8
9.----------------.
| A Title |
|----------------|
| | Name | Age |
|---|------|-----|
| 1 | Bob | 52 |
| 2 | John | 34 |
| 3 | Jim | 83 |
'----------------'
Wir können auch eine einfache Tabelle ohne Titel oder Überschriften erstellen.
1
2
3
4
5
6
7
8
9
10var table = new AsciiTable()
table
.addRow('a', 'apple', 'Some longer string')
.addRow('b', 'banana', 'hi')
.addRow('c', 'carrot', 'meow')
.addRow('e', 'elephants')
console.log(table.toString())
1
2
3
4
5
6.------------------------------------.
| a | apple | Some longer string |
| b | banana | hi |
| c | carrot | meow |
| e | elephants | |
'------------------------------------'
API
Static Methods
ASCII-Tabelle
Siehe: AsciiTable.factory
für Details zur Instanziierung
AsciiTable.factory([Titel], [Optionen])
Tabelleninstanzersteller
title
-Tabellentitel (optional, Standardnull
)options
-Tabellenoptionen (optional)prefix
-String-Präfix zum Hinzufügen zu jeder Zeile beim Rendern
Hinweis: Wenn ein Objekt anstelle von übergeben wirdtitle
, wird diefromJSON
Methode zum Auffüllen der Tabelle verwendet.
Beispiel:
1
2
3
4
5
6
7
8
9
10var table = AsciiTable.factory('title')
var table = AsciiTable.factory({
title: 'Title'
, heading: [ 'id', 'name' ]
, rows: [
[ 1, 'Bob' ]
, [ 2, 'Steve' ]
]
})
AsciiTable.align(direction, val, len, [pad])
Verknüpfung zu einer der drei folgenden Methoden
direction
- Ausrichtungsrichtung (AsciiTable.LEFT
,AsciiTable.CENTER
,AsciiTable.RIGHT
)val
-String zum Ausrichtenlen
-Gesamtlänge der erstellten Zeichenfolgepad
-Auffüllen / Zeichen füllen (optional, Standard' '
)
Beispiel:
1table.align(AsciiTable.LEFT, 'hey', 7) // 'hey '
AsciiTable.alignLeft(val, len, [pad])
val
-String zum Ausrichtenlen
-Gesamtlänge der erstellten Zeichenfolgepad
-Auffüllen / Zeichen füllen (optional, Standard' '
)
Beispiel:
1table.alignLeft('hey', 7, '-') // 'hey----'
AsciiTable.alignCenter(val, len, [pad])
val
-String zum Ausrichtenlen
-Gesamtlänge der erstellten Zeichenfolgepad
-Auffüllen / Zeichen füllen (optional, Standard' '
)
Beispiel:
1table.alignCenter('hey', 7) // ' hey '
AsciiTable.alignRight(val, len, [pad])
val
-String zum Ausrichtenlen
-Gesamtlänge der erstellten Zeichenfolgepad
-Auffüllen / Zeichen füllen (optional, Standard' '
)
Beispiel:
1table.alignRight('hey', 7) // ' hey'
AsciiTable.alignAuto(val, len, [pad])
Versuchen Sie eine intelligente Ausrichtung der bereitgestellten val
, String
Eingaben werden linksbündig, Number
Typen rechtsbündig.
val
-String zum Ausrichtenlen
-Gesamtlänge der erstellten Zeichenfolgepad
-Auffüllen / Zeichen füllen (optional, Standard' '
)
Beispiel:
1table.align(AsciiTable.LEFT, 'hey', 7) // 'hey '
AsciiTable.arrayFill(len, [val])
Erstellen Sie ein neues Array an der angegebenen Länge, gefüllt mit dem angegebenen Wert, das hauptsächlich intern verwendet wird
len
-Länge des Arraysval
-Wert füllen (optional)
Beispiel:
1AsciiTable.arrayFill(4, 0) // [0, 0, 0, 0]
Instance Methods
instance.setBorder([Rand], [Füllen], [oben], [unten])
Legen Sie die Randzeichen für das Rendern fest, wenn keine Argumente übergeben werden, wird es auf die Standardwerte zurückgesetzt.Wenn ein einzelnes Argument übergeben wird edge
, wird es für alle Ränder verwendet.
edge
-horizontale Kanten (optional, Standard|
)fill
-vertikale Kanten (optional, Standard-
)top
-obere Ecken (optional, Standard.
)bottom
-untere Ecken (optional, Standard'
)
Beispiel:
1
2
3
4
5
6
7var table = new AsciiTable('Stars')
table
.setBorder('*')
.setHeading('oh', 'look')
.addRow('so much', 'star power')
console.log(table.toString())
1
2
3
4
5
6
7************************
* Stars *
************************
* oh * look *
************************
* so much * star power *
************************
Instanz.removeBorder()
Beispiel:
1
2
3table.removeBorder()
console.log('' + table)
1
2
3
4
5
6 # Fruit Thing
--- ----------- --------------------
a apple Some longer string
b banana hi
c carrot meow
e elephants
instance.setAlign(idx, Richtung)
idx
-Spaltenindex zum Ausrichtendirection
- Ausrichtungsrichtung, (AsciiTable.LEFT
,AsciiTable.CENTER
,AsciiTable.RIGHT
)
Beispiel:
1
2
3
4
5table
.setAlign(2, AsciiTable.RIGHT)
.setAlign(1, AsciiTable.CENTER)
console.log(table.toString())
1
2
3
4
5
6.-------------------------------------.
| a | apple | Some longer string |
| b | banana | hi |
| c | carrot | meow |
| e | elephants | |
'-------------------------------------'
Instanz.setAlignLeft(idx)
Alias für instance.setAlign(idx, AsciiTable.LEFT)
instance.setAlignCenter(idx)
Alias für instance.setAlign(idx, AsciiTable.CENTER)
Instanz.setAlignRight(idx)
Alias für instance.setAlign(idx, AsciiTable.RIGHT)
Instanz.setTitle(Titel)
title
-Tabellentitel
Beispiel:
1
2
3var table = new AsciiTable('Old Title')
table.setTitle('New Title')
Instanz.getTitle()
Holen Sie sich den aktuellen Titel der Tabelle
Beispiel:
1table.getTitle() // 'New Title'
instance.setTitleAlign(Richtung)
direction
-Tischausrichtungsrichtung
Beispiel:
1
instance.setTitleAlignLeft()
Alias für instance.setTitleAlign(AsciiTable.LEFT)
instance.setTitleAlignCenter()
Alias für instance.setTitleAlign(AsciiTable.CENTER)
instance.setTitleAlignRight()
Alias für instance.setTitleAlign(AsciiTable.RIGHT)
Instanz.sort(iterator)
iterator
-Sortierungsmethode, um gegen die Zeilen zu laufen
Beispiel:
1
2
3
4table.sort(function(a, b) {
return a[2] - b[2]
})
console.log(table.toString())
1
2
3
4
5.----------------.
| 2 | John | 34 |
| 1 | Bob | 52 |
| 3 | Jim | 83 |
'----------------'
instance.sortColumn(Index, Iterator)
Sortierverknüpfung für die Ausrichtung auf eine bestimmte Spalte
index
-Spalten-IDx zum Sortiereniterator
-Sortiermethode zum Ausführen gegen Spaltenwerte
Beispiel:
1
2
3
4// This is quivalent to the `sort` example above
table.sortColumn(2, function(a, b) {
return a - b
})
instance.setHeading(Überschrift, [...])
Legen Sie die Spaltenüberschriften für die Tabelle fest, verwenden Sie Argumente auf die gleiche Weise wie addRow
heading
-Überschrift Array oder Argumente
Beispiel:
1
2
3
4
5table.setHeading('ID', 'Key', 'Value')
// or:
table.setHeading(['ID', 'Key', 'Value'])
instance.setHeadingAlign(Richtung)
direction
-
Beispiel:
1
instance.setHeadingAlignLeft()
Alias für instance.setHeadingAlignLeft(AsciiTable.LEFT)
instance.setHeadingAlignCenter()
Alias für instance.setHeadingAlignLeft(AsciiTable.CENTER)
instance.setHeadingAlignRight()
Alias für instance.setHeadingAlignLeft(AsciiTable.RIGHT)
Instanz.addRow(Zeile, [...])
Zeilen können mit einem einzelnen Array-Argument oder den Argumenten hinzugefügt werden, wenn beim Aufrufen der Methode mehrere Argumente verwendet werden.
row
-Array oder Argumente von Spaltenwerten
Beispiel:
1
2
3
4
5
6
7var table = new AsciiTable()
table
.addRow(1, 'Bob', 52)
.addRow([2, 'John', 34])
console.log(table.render())
1
2
3
4.---------------.
| 1 | Bob | 52 |
| 2 | John | 34 |
'---------------'
instance.addRowMatrix(Zeilen)
Bulk - addRow
Betrieb
rows
-multidimensionales Array von Zeilen
Beispiel:
1
2
3
4
5table.addRowMatrix([
[2, 'John', 34]
, [3, 'Jim', 83]
])
instance.setJustify(aktiviert)
Begründen Sie, dass alle Spalten die gleiche Breite haben
enabled
-Boolean zum Ein- oder Ausschalten von Justify,undefined
gilt als wahr
Beispiel:
1
2
3
4
5table
.addRow('1', 'two', 'three')
.setJustify()
console.log(table.toString())
1
2
3.-----------------------.
| 1 | two | three |
'-----------------------'
Instanz.toString()
Rendern Sie die Instanz als String für die Ausgabe
Alias : [ valueOf
, render
]
Instanz.toJSON()
Geben Sie die JSON-Darstellung der Tabelle zurück, dies ermöglicht uns auch, JSON.stringify
die Instanz aufzurufen
.
Beispiel:
1
2
3
4
5
6
7
8
9var table = new AsciiTable('Title')
table
.setHeading('id', 'name')
.addRow(1, 'Bob')
.addRow(2, 'Steve')
console.log(table.toJSON())
console.log(JSON.stringify(table))
1
2
3
4
5
6
7
8{
title: 'Title'
, heading: [ 'id', 'name' ]
, rows: [
[ 1, 'Bob' ]
, [ 2, 'Steve' ]
]
}
1{"title":"Title","heading":["id","name"],"rows":[[1,"Bob"],[2,"Steve"]]}
Instanz.fromJSON(obj)
Füllen Sie die Tabelle aus dem json-Objekt, sollte der toJSON
obigen Ausgabe entsprechen.
Alias : [ parse
]
Beispiel:
1
2
3
4
5
6
7
8var table = new AsciiTable().fromJSON({
title: 'Title'
, heading: [ 'id', 'name' ]
, rows: [
[ 1, 'Bob' ]
, [ 2, 'Steve' ]
]
})
Instanz.clear()
Alle Tabellendaten löschen / zurücksetzen
Alias : [ reset
]
Instanz.clearRows()
Alle Zeilendaten zurücksetzen, Titel und Überschriften werden beibehalten.
Installieren
Mit npm
1npm install ascii-table
Mitwirkende
Lizenz
(Die MIT-Lizenz)
Copyright (c) 2013 Beau Sorensen
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, kostenlos die Erlaubnis erteilt, mit der Software ohne Einschränkung zu handeln, einschließlich und ohne Einschränkung der Rechte zur Nutzung, zum Kopieren, Ändern, Zusammenführen , Kopien der Software zu veröffentlichen, zu verteilen, unterzulizenzieren und/oder zu verkaufen und dies den Personen, denen die Software zur Verfügung gestellt wird, zu gestatten, vorbehaltlich der folgenden Bedingungen:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD OHNE JEGLICHE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG BEREITGESTELLT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNGEN DER MARKTFÄHIGKEIT, EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND NICHTVERLETZUNG DER VERLETZUNG. SCHÄDEN ODER SONSTIGE HAFTUNG, OB AUS VERTRAGLICHEM, SCHLECHTER ODER ANDERWEITIGEM, DIE AUS, AUS ODER IN VERBINDUNG MIT DER SOFTWARE ODER DER NUTZUNG ODER ANDEREN HANDELN MIT DER SOFTWARE ERGEBEN.