Fügen Sie die Daten localStorage-Objekt
Ich versuche erfolglos um ein neues Objekt hinzuzufügen, um eine aktuelle localStorage-Objekt. Statt, am Ende, mit zwei Sätze von Daten in localStorage, ich bekomme die Letzte. Jeder Einblick auf das, was ich falsch mache? Dank
Hier ist, was ich versuche zu tun:
//add the first student
var newStudent = [{
"name": "John",
"age": 21,
"nationality": "Spanish"
}];
localStorage.setItem("students", JSON.stringify(newStudent));
//Retrieve the object from storage to add a new student
var retrievedObject = localStorage.getItem("students");
var stored = JSON.parse(retrievedObject);
//add a new student
var newStudent2 = [{
"name": "Mary",
"age": 20,
"nationality": "German"
}];
var stored = Object.assign(stored, newStudent2);
//Update the storage
localStorage.setItem("students", JSON.stringify(stored));
var result = localStorage.getItem("students");
console.log(result);
Haben Sie versucht, so etwas wie: Fenster."localStorage".attr = Wert oder nur "localStorage".attr = Wert?
Versuchen Sie, ein array von Objekten innerhalb localStorage? Du bist gerade dabei, jedes Objekt in einem eigenen array, das ist ein wenig seltsam.
Ja, ich bin versucht, ein array von Objekten, aber nur der Letzte gespeichert wird.
Versuchen Sie, ein array von Objekten innerhalb localStorage? Du bist gerade dabei, jedes Objekt in einem eigenen array, das ist ein wenig seltsam.
Ja, ich bin versucht, ein array von Objekten, aber nur der Letzte gespeichert wird.
InformationsquelleAutor McRui | 2016-03-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie Speicher-array, kein Objekt;
Können Sie markieren Sie die richtige Antwort, bitte?
InformationsquelleAutor Sergey Yarotskiy
Ersetzen Sie das gespeicherte Objekt durch newStudent2 beim Holen es wieder aus dem localStorage:
Können Sie stattdessen versuchen Sie, erstellen ein array von Objekten und anfügen, wenn Sie eine neue erstellen.
InformationsquelleAutor Diego Gallegos
Sind Sie mit
Object.assign()
falsch. Sehen hier für die info über es.Brauchen Sie wirklich
newStudent2
ein array ein einzelnes Objekt? Wenn nicht, können Sie einfach tunstored.push(newStudent2)
, wonewStudent2
ist ein Objekt und nicht ein array mit einem einzelnen Objekt.Also, so etwas wie:
Sie sind herzlich willkommen. Ich aktualisierte die Antwort in der Zwischenzeit
InformationsquelleAutor Dimitris Karagiannis
Laut MDN
The Object.assign() method only copies enumerable and own properties from a source object to a target object
in deinem Fall:
var stored = JSON.parse(retrievedObject);
Rückgabe-array, können Sie einfachpush
neues Objekt-array:stored.push(newStudent2);
und wennstored
zulocalStorage
.InformationsquelleAutor zooblin