Hallo Paul,
warum liefert der folgende Code immer false?
Weil Du prüfst, ob es das selbe Objekt ist.
var a = new Array('a','b');
var b = a;
alert(a==b); // true;
Du möchtest aber auf Inhaltsgleichheit prüfen. Folglich musst Du auch den Inhalt bzw. die Elemente selbst checken.
Muss man also immer mit zwei ineinander liegenden Schleifen arbeiten?
Nein, nicht zwingend. Du könntest vorher beide Arrays sortieren und dann mit einer Schleife arbeiten. Abbrechen kannst Du, wenn Du den ersten unterschied gefunden hast:
for (var i=0; i<a.length; i++) {
if (a[i] != b[i]) {
alert("ungleich");
break;
}
}
Mit freundlichem Gruß
Micha