Information Technology Reference
In-Depth Information
function getAllItems() {
var i_array = [];
for (var i=0;i<localStorage.length;i++) {
var item = JSON.parse(
localStorage.getItem(localStorage.key(i))
);
i_array.push(item);
}
i_array.sort(function(a, b) {
return b.ts - a.ts
});
return i_array;
}
Der Aufruf localStorage.getItem() holt ein Element aus dem persistenten
Speicher, das anschließend mit der Funktion JSON.parse in ein JavaScript-
Objekt umgewandelt wird. Voraussetzung dafür ist, dass das Objekt beim Ab-
speichern mit JSON.stringify in eine Zeichenkette umgewandelt wurde (siehe
weiter unten). Die Objekte werden mit i_array.push() an das Ende des Arrays
i_array gehängt und im nächsten Schritt nach dem Datum sortiert. Um der
JavaScript-Funktion sort mitzuteilen, nach welchen Kriterien sortiert werden
soll, wird sie mit einer anonymen Funktion erweitert. Um eine zeitliche Sortie-
rung der Objekte zu ermöglichen, wird die Variable ts aus den Objekten ausge-
wertet. Sie enthält die Zahl der Millisekunden seit dem 1.1.1970, ein Wert, der
durch die JavaScript-Funktion new Date().getTime() erzeugt wird. Liefert die
anonyme Funktion einen negativen Wert zurück, so wird a hinter b angereiht,
und bei einem positiven Wert kommt a vor b .
Jetzt bleibt noch die Frage zu klären, wie neue Einträge erzeugt und gespei-
chert werden. Die Funktion saveItem() übernimmt diesen Teil und beginnt mit
der Initialisierung einer lokalen Variable d , der die Struktur diaryItem zugewie-
sen wird.
function saveItem() {
var d = diaryItem;
d.msg = $('note').value;
if (d.msg == '') {
alert("Empty message");
return;
}
d.ts = new Date().getTime();
d.id = "geonotes_"+d.ts;
if (navigator.geolocation) {
Search WWH ::




Custom Search