Проблема с присвоением свойств индексу массива - PullRequest
0 голосов
/ 07 сентября 2011

Я считаю, что у меня есть простая проблема, но я не могу понять, что с этим кодом. Я хочу присвоить свойство массиву javascript, но по какой-то причине:

board = [[0], [0], [0]];
    for(var x = 0; x < board.length; x++) {
        for(var y = 0; y < board[x].length; y++) {
            grid[x][y].f = 0;
        }   
    }

document.write(board[0][0].f);

В результате этого я получаю неопределенность.

1 Ответ

2 голосов
/ 07 сентября 2011

Прежде всего, вы используете имя переменной board в объявлении декларации массива, но оба имени переменных grid и board в вашем коде. Я предполагаю, что вы имели в виду, что эти двое имеют одно и то же имя grid.

В вашем примере grid[x][y] будет содержимым внутреннего массива, который является числом 0. Число не является объектом и не принимает произвольных свойств, как вы пытаетесь назначить его в цикле for с помощью grid[x][y].f = 0 что по сути пытается сказать 0.f = 0;.

Чтобы получить справку о том, как это должно работать, опишите, что вы на самом деле пытаетесь выполнить, потому что ваша структура данных не соответствует вашему коду, и мы не можем знать, что вам нужно изменить, пока не узнаем, что вы на самом деле пытается сделать.

...