Ich habe ein Array in localStorage gespeichert, das einen Schlüssel namens "key" hat, der diese Werte enthält ["Gio", "Ben"]

Wie bekomme ich die Länge, die ich versucht habe?

localStorage.getItem("name").length;

Aber es zeigt eine andere Ausgabe, was ich erwartet hatte, sollte 2 sein.

Danke im Voraus

1
Yatoooo 18 Apr. 2018 im 09:58

3 Antworten

Beste Antwort

Sie müssen das Array mit JSON.parse analysieren und können dann wie jedes andere Array seine Länge ermitteln.

var arrayFromStroage = JSON.parse(localStorage.getItem("name"));
var arrayLength = arrayFromStroage.length;

Nur zu Ihrer Kenntnisnahme erhalten Sie mit localStorage.getItem("name").length; die Länge der JSON-Zeichenfolge, die Sie in localStorage gespeichert haben. Für das Array ["Gio","Ben"] lautet die JSON-Zeichenfolge "["Gio","Ben"]". Die Länge wäre also 13.

1
Nisarg 18 Apr. 2018 im 07:00

Tatsächlich können wir den Zeichenfolgenwert nur im lokalen Speicher speichern. Die Funktion getItem ("name") gibt eine Zeichenfolge zurück. Also müssen Sie dies zuerst in ein JSON-Objekt konvertieren und dann können Sie die Array-Länge erhalten.

JSON.parse(localStorage.getItem("name")).length;
0
Faraz 18 Apr. 2018 im 07:05

Das localStorage speichert nur Strings.

Wenn Sie dort ein Array haben, müssen Sie es analysieren, bevor Sie es mit JSON.parse verwenden können:

var arrStr = '["Gio","Ben"]';

console.log(JSON.parse(arrStr));
0
Zenoo 18 Apr. 2018 im 07:01