Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Javascript] problem z tablicą
Istalacar
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

Ostrzeżenie: (0%)
-----


Witam

Mój problem, że z niezrozumiałych dla mnie przyczyn każdy element mojej tablicy ma taką samą wartość.
Nie jestem ekspertem od JS, dlatego mogłem coś przeoczyć, dlatego wrzucę tutaj kod:
Najpierw deklaruję (w tagu head):
Kod
var game_board_history = new Array();

Potem zapisuję do niej tablicę dwuwymiarową (6x7) w funkcji podczepionej do body onLoad:
Kod
game_board_history[0] = game_board;

później gdy wystąpi zdarzenie zapisuje do niej zaktualizowaną wersję tamtej tablicy:
Kod
len = game_board_history.length;
game_board_history[len] = game_board;

Wiem, że sposób nie jest wyższych lotów, ale to już kolejna wersja, próbowałem już i push i jakiś innych funkcji, ale dalej się dzieje to samo.

Po dodaniu do tamtej tablicy próbuję ją odczytać (już kolejna wersja sprawdzania):
Kod
for (z=0; z<game_board_history.length; ++z)
{
            var wynik = '';
            for (i=5; i>=0; --i)
            {
                for(j=0; j<6; ++j)
                    wynik = wynik + " " + game_board_history[z][i][j];
                wynik += '\n';
            }
            alert(wynik);
}


To są wszystkie funkcje które wpływają na ową zmienną, ale pomimo, że nie powinno, ostatnia funkcja wyświetla mi w każdej komórce dokładnie tą samą wartość.
I nie mam pojęcia dlaczego - próbowałem już i z funkcjami push i pop, i ręcznie (jak w kodzie powyżej), nie wiem czemu się tak dzieje.

Z góry dzięki za pomoc
Istalacar


EDIT:
Stworzyłem taką funkcję:
Kod
        function overwrite_arrays(first, second)
        {
            for (i=5; i>=0; --i)
                for(j=0; j<6; ++j)
                    first[i][j] = second[i][j];
            return first;
        }


Jeśli macie może jakąś poradę - można byłoby to zrobić prościej, proszę napiszcie, ale generalnie problem jest już rozwiązany:)

Ten post edytował Istalacar 25.09.2009, 20:50:32
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 05:17