![]() |
![]() ![]() |
![]() |
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 05:17 |