Javascript Проблема с трехмерным массивом - PullRequest
0 голосов
/ 13 июля 2020

У меня есть эти 3-х мерные массивы:

Click for Safari Scope Chain Result

I then try to add a new row to the 2nd dimension using:

drawTable[1].push([0,0,0,0,0,0])

and the array updates to:

Click for Safari Scope Chain Result

I did not expect drawTable[0] to be affected, but looks like it gets a row to, perhaps to keep it "square"?

I then run the following code:

drawTable[1][1]=[1,1,1,1,1,1].

I would expect this to only change one line of 0's, but it seems to change it in drawTable[0] and drawTable 1 по какой-то причине.

Нажмите, чтобы увидеть результат Safari Scope Chain

Кто-нибудь может мне объяснить такое поведение?

1 Ответ

0 голосов
/ 13 июля 2020

schteppe был правильным. Я использовал drawTable.pu sh (drawTable [0]) для создания второго элемента массива drawTable. Видимо, это делает их взаимозависимыми?

Я изменил на:

drawTable[1]=drawTable[0].slice(0,drawTable[0].length)

, и проблема исчезла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...