Website-Suche

javascript - Wie konvertiert man ein PostgreSQL-Array in JS


Wie man ein PostgreSQL-Array in einen String konvertiert, z. B. "{1,2,3,4}", zu einem JavaScript/TypeScript-Array: [1,2,3,4]. Die Werte im Array müssen vom Typ Zahl sein.

Ich habe eine Lösung mit replace und split versucht, aber sie gibt Zeichenkettenwerte zurück.

var test = "{1,2,3,4}";
test = test.replace("{", "");
test = test.replace("}", "");
//test = test.replace(/\{|\}/gm, "")  //regex replace
test.split(",")   //['1', '2', '3', '4']

Antwort #1

Eine sauberere Lösung, die nicht das Erstellen eines JSON-Strings nur zum Parsen beinhaltet:

test = test.match(/[\w.-]+/g).map(Number)

Aber wenn man mit einer Datenbank arbeitet, sollte man die Daten normalerweise nicht selbst analysieren, es sei denn, man schreibt den Treiber (aber es gibt bereits gute für PostgreSQL).

Antwort #2

Ich finde die Lösung mit JSON.parse, aber dies benötigt auch ein replace vor der Konvertierung.

var test = "{1,2,3,4}";
test = test.replace("{", "[");
test = test.replace("}", "]");
JSON.parse(test)  //[1, 2, 3, 4]

Testen mit dem Erstellen eines Strings für Array-Größe: 100000~900000: https://stackblitz.com/edit/typescript-gavnpg

Verwandte Artikel