Cookie Array
Philip
- javascript
0 Jörg Peschke0 Philip
Hallo!
Ich habe da mal eine kurze Frage:
Kann ich in einem Array auch nach einem Namen parsen und nicht nur nach der Position als Nummer?
Problem ist, dass nach jedem Neustart des Systems, alls durcheinander gerät...
Hier mal der Quelltext:
...
b[18] = new Image(); b[18].src = "sch18.gif";
b[19] = new Image(); b[19].src = "sch19.gif";
b[20] = new Image(); b[20].src = "sch20.gif";
var max = 20;
var max2 = 19;
var min = 0;
var min2 = 1;
var lwohnen = 0;
var twohnen = 20;
var jwohnen = 0;
var ablauf = new Date();
var cookiearray = document.cookie.split(";");
var infuenfTagen = ablauf.getTime() + (365 * 24 * 60 * 60 * 1000);
ablauf.setTime(infuenfTagen);
for (var iterator = 0; iterator < cookiearray.length; iterator++) {
cookiearray[iterator] = new Array(cookiearray[iterator].split("=")[0], cookiearray[iterator].split("=")[1]*1);
}
function merken () {
document.images[3].src = b[lwohnen = cookiearray[3][1]].src
lwohnen = cookiearray[3][1]
twohnen = cookiearray[4][1]
if (twohnen > 10) {
document.getElementById("temp").firstChild.nodeValue = + twohnen + "°C";
}
else {
document.getElementById("temp").firstChild.nodeValue = "Aus"
}
jwohnen = cookiearray[5][1];
if (jwohnen == 1) {
document.getElementById("jalo").firstChild.nodeValue = "Geöffnet" ;
}
if (jwohnen == 0) {
document.getElementById("jalo").firstChild.nodeValue = "Geschlossen" ;
}
}
...
Das ist natürlich nur ein Teil, es gibt so 21 Einträge im Array...
MfG
Philip
Hallo Du,
Kann ich in einem Array auch nach einem Namen parsen und nicht nur nach der Position als Nummer?
Du meinst Assoziative Arrays oder Hashes?
Etwas wie
meinArray["Suchwort"] = "Irgendwas";
?
Streng genommen gibt es so etwas in javaScript nicht.
Aber es gibt so etwas ähnliches.
Du kannst einem JavaScript-Objekt beliebig viele Eigenschaften als Strings übergeben und die mit einer for...in - Schleife durchsuchen:
var meinObjekt = new Object();
meinObjekt["Test"] = "Hallo";
meinObjekt["Foo"] = "Wie";
meinObjekt["bar"] = "gehts"
for (var key in meinObjekt) {
alert ("Der Wert von "+key+" ist "+meinObjekt[key]);
}
Beachte aber, dass "mienObjekt" dann ein Objekt und kein Array ist. Eigenschaften/methoden wie push, slice, length etc. gehen dann darauf nicht mehr!
Gruesse,
Joerg
Danke für die Antwort! Wäre es nicht eine Möglichkeit das ganze mit cookiearray.sort lexikalisch zu ordnen?
Ich habe es mal probiert, das Ordnen geht auch recht gut, aber ich schaffe es dann nicht mit cookiearray[0][1] oä. es auslesen.
Der Script funktioniert dann komplett nicht mehr...