[JS] Porównywanie tablic

w dziale Po godzinach
chocimir napisał(a):

Witam.
W trakcie nauki JavaScriptu zauważyłem w kilku miejscach jego oryginalność, jednak ostatnie znalezisko (wykopalisko?) przerosło mnie. Otóż dwie identyczne tablice nie są sobie równe. Kto nie wierzy, niech sam sprawdzi:

javascript:a=[1];b=[1];alert(a==b)
Niby nie jest problemem ani napisanie funkcji, która porówna kolejne elementy listy, ani konwertowanie list do napisów, ale nie pałam miłością do sztuki prowizorki. Czy istnieje prostszy i pewniejszy sposób na porównywanie tablic?

Ryszard napisał(a):

Mnie się wydaje, że cała oryginalność polega na tym, że tablic nie można porównywać tak jak zmiennych.
I chyba nie tylko w javascripcie nie można się odwoływać do całej tablicy czyli wszystkich jej elementów jednocześnie. Albo porównujesz dwa elementy tablicy

a[1]==b[1]
albo najpierw łączysz wszystkie elementy tablicy w jedną zmienną a dopiero potem porównujesz tak utworzone zmienne.

chocimir napisał(a):

Tablice nie są nawet zmiennymi, wiem o tym. Napisałem taką funkcję, aby porównywać zmienne:

function por_wnaj(a,b){
    if (typeof(a)==typeof(b)){
	if (typeof(a)=='object'){
	    if (a.length==b.length){
		for (p=0;p<a.length;p++){
		    if (!por_wnaj(a[p],b[p])){
			return false
		    }
		}
		return true
	    }else {return false}
	}else {return (a==b)}
    }else {return (a==b)}
}
Tylko że to nie jest żadne rozwiązanie, bo właściwie czyni operatory porównania bezużytecznymi. No cóż, skryptów Pythona w przeglądarce uruchomić się nie da.