Как правильно создать и получить доступ к многомерному массиву в JavaScript

1

Простой вопрос, с которым я столкнулся.

  arr = [[1,2,3],[3,4,5],[6,7,8]];
  x = arr[0];
  x[0] = 2; //x returns [2,2,3]

В то же время arr также обновляется до [[2,2,3], [3,4,5], [6,7,8]] Как я могу предотвратить это. Я не хочу, чтобы arr менялся и почему это происходит?

Показать ещё 2 комментария
Теги:
arrays
multidimensional-array

1 ответ

0

Оператор = не копирует данные.

Оператор = создает новую ссылку на одни и те же данные.

Легким решением было бы сделать следующее при назначении значения x:

x = arr[0].slice();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню