Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS] Błąd przy tablicach.
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
tadeurz
Mam taki oto kod:
  1. var Game = function(){
  2. var F_Res = [[1,1,5,6],
  3. [1,2,5,8],
  4. [2,8,4,9],
  5. [1,8,4,9]];
  6. var T_Res = [[]];
  7. this.toBe = function(){
  8. var x = 0;
  9. for( x ; x<F_Res.length ; x++){
  10. var y = 0; y = F_Res[x][0];
  11. T_Res[y][0] += F_Res[x][1] ;
  12. T_Res[y][1] += F_Res[x][1] ;
  13. T_Res[y][2] += F_Res[x][2] ;
  14. }
  15. alert( T_Res[y][0] + T_Res[y][1] + T_Res[y][2] );
  16. };
  17. };


var foo = new Game();
foo.toBe();

I on generuje błąd odnośnie convertowania ?:
Uncaught exception: TypeError: Cannot convert 'T_Res[y]' to object
Error thrown at line 13, column 12 in <anonymous function: toBe>() in http://fiddle.jshell.net/_display/:T_Res[y][0] += F_Res[x][1] ;


Nie mogę znaleźć rozwiązania ? Dlaczego on konwertuje tablice do obiektu ? co_jest.gif
d3ut3r
z moich zabaw wyszło coś takiego:

http://jsfiddle.net/wpsFm/

kluczowe jest tutaj:

[JAVASCRIPT] pobierz, plaintext
  1. if( Object.prototype.toString.call( T_Res[y] ) !== '[object Array]' ) {
  2. T_Res[y]=new Array();
  3. }
[JAVASCRIPT] pobierz, plaintext


fragment sprawdza czy faktycznie T_Res[y] jest tablicą (po pierwszym uruchomieniu y=1 a T_Res[1][0] było undefined stąd stworzenie tablicy T_Res[y]=new Array()wink.gif

Co dziwne na chrome nie dostałem ani razu komunikatu o którym piszesz tongue.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.