Ich muss eine Menge Daten im lokalen Speicher für meine App speichern. Ich bin erfolgreich darin, das zu speichern. Jetzt muss ich Daten in einem Array, aber von den ausgewählten Schlüssel/Werten und nicht alle oder nur 1 von ihnen abrufen. Ich habe diesen Schlüssel als "section" + id benannt, wie unten zu sehen, müssen diese in einem Array auswählen. Welche Abfrage kann ich verwenden, um Daten aus dem lokalen Speicher des ausgewählten Schlüsselwerts zu holen
Antwort
localStorage.getItem(key)
werden die Daten für die Return-Taste Sie. Daten von localStorage werden serialisiert, so dass Sie sie mit JSON.parse(data)
in ein einfaches JS-Objekt analysieren müssen, und dann können Sie damit wie jedes andere Objekt arbeiten.
Sie können nur ein einzelnes Element mit localStorage.getItem
erhalten. Wenn Sie also mehrere Elemente in einem Array haben möchten, müssen Sie diese einzeln schleifen und einzeln in ein Array einfügen. so etwas wie diese
Vielleicht:
var keys = Object.keys(localStorage).filter(function(key) {
return /^section\d+$/.test(key);
});
var dataArray = keys.map(function(key) {
return JSON.parse(localStorage.getItem(key));
});
Zuerst bekommen wir alle „Abschnitt ###“ Schlüssel mit der filter
Funktion. Dann erstellen wir ein neues Array mit den Daten für jedes entsprechende Element unter Verwendung der map
-Funktion.
Ich muss Tasten dynamisch auswählen, was Sie oben erklären, aber ich bin nicht in der Lage, diesen Code zu verstehen '/^Abschnitt \ d + $ /. Test (key);', in der Konsole sagt es 10 wahr, 2 falsch. Kannst du mir bitte erklären, wie man diese in jedem Array bekommt, damit ich sie weiter benutzen kann – user2828442
@ user2828442 Es stimmt mit allen Schlüsseln überein, die aus "section" gefolgt von Zahlen bestehen, also passt es "section321", "section323" und so auf, aber es stimmt nicht mit Schlüsseln wie "sectionTypes" oder "templateType" überein. Es hat es von deinem Screenshot genommen, dass das Muster das du willst. Diese Überprüfung wird als Bedingung für die 'Filter'-Funktion verwendet, so dass das' keys' -array nur Ihre "section ###" -Tasten enthält, die beim Abrufen und Parsen der Daten für all diese Elemente verwendet werden. –
Danke, das ist, was ich gesucht habe, funktioniert wie ein Charme – user2828442
Versuchen Sie diesen Code. Ich habe es bearbeitet.
var keys = [];
var data = [];
for (var key in localStorage) {
if (key.indexOf("section") > -1)
keys.push(key);
}
for (var i in keys) {
data.push(localStorage.getItem(keys[i]))
}
aber ich weiß nicht die Schlüsselnamen, ich muss Schlüssel wählen, die Abschnitt + einige sind nein. in einer Schleife, können Sie jetzt Ihre Lösung entsprechend aktualisieren – user2828442
wollen Sie auch alle ihre Daten im Array –
@ AbhinavS.Chauhan Holen Ich würde die Daten.Push innerhalb der ersten for-Schleife setzen, wegen der Tatsache, dass JavaScript isn 't synchron, so könnte die letzte for-Schleife halbwegs von der ersten ausgeführt werden. –
- 1. Filtern von Daten aus dem lokalen Speicher
- 2. wie json_encode verwenden, um Daten aus der Datenbank zu holen
- 3. Holen Sie Artikel aus dem lokalen Speicher und verwenden Sie es in HTML-Seite
- 4. Wie bekomme ich alle Daten aus dem lokalen Speicher, um sie im Formular anzuzeigen?
- 5. Entfernen Array-Element aus dem lokalen Speicher
- 6. Welche Datenstruktur sollte ich verwenden, um mehrwertige Daten zu verarbeiten?
- 7. Wie kann ich HugePage-Speicher aus dem Kernel-Bereich verwenden?
- 8. Verwenden des Zertifikats aus dem Speicher für RSACryptoServiceProvider
- 9. Wie lade ich Daten aus dem lokalen Bereich db?
- 10. Werkzeuge für den lokalen Speicher
- 11. Welche Middleware kann ich verwenden, um Daten in React Application zu speichern?
- 12. Abrufen der Array-Liste einzeln aus dem lokalen Speicher
- 13. SQL Abfrage, um genaue Werte zu holen
- 14. Welche strukturierten Datenobjekte sollte ich verwenden, um Daten aus einer TXT zu bearbeiten?
- 15. OpenCL: Welche Art von Speicher zu verwenden?
- 16. Wie zu stoppen die gleichen Daten aus dem lokalen Speicher hinzugefügt werden
- 17. Welche Ressourcen kann ich verwenden, um Profilerstellung/Optimierung zu lernen?
- 18. Holen Sie alle Bilder aus dem lokalen Ordner
- 19. Wie wiederhole ich die Zeilen für den Schlüssel des Schlüsselwerts
- 20. Erlang Daten aus dem Internet holen
- 21. Kann ich html5 lokalen Speicher für die Benutzerauthentifizierung Sitzungsinformationen
- 22. Wie entferne ich die Variable aus dem Speicher des Servers?
- 23. Wie viel Zeit braucht man, um ein Wort aus dem Speicher zu holen?
- 24. lokalen Speicher des Schreib-Cache in AWS
- 25. Speichern und erhalten Express-js-Token aus dem lokalen Speicher
- 26. Clojure: Wie kann ich ein Objekt aus dem Speicher entfernen?
- 27. Ich kann nicht aus dem privaten Repository mit EGit holen
- 28. Kann ich eine GraphQL/Relay-Abfrage verwenden, um Daten ohne Abruf zu ändern?
- 29. Checkbox-ID aus dem lokalen Speicher für mit JQuery
- 30. Wie kann ich einen Wert aus einer ausgewählten Abfrage zurückgeben?
localStorage.getItem (Schlüssel); – Shiladitya