|
06.02.2015, 20:56
|
Интересующийся
|
|
Регистрация: 12.01.2015
Сообщений: 15
|
|
Глубокая копия
Есть ли в js стандартный метод получения глубокой копией массива? Чето гугл не помог, пока написал eval(JSON.stringify(array)), перегоняю туда-обратно...
|
|
07.02.2015, 01:16
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,583
|
|
Если со вложенными, то только так:
JSON.parse(JSON.stringify(array))
Или вручную перебором. Иных вариантов нет.
__________________
29375, 35
|
|
07.02.2015, 11:11
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
|
|
07.02.2015, 11:20
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Erolast, +
Я почему то всегда думал, что данная функция копирует только верхний уровень. Заблуждался
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
07.02.2015, 12:11
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
эээ вы чего, при чем тут Object.assign?
nerv_, у тебя же o1.foo === o2.foo → true
|
|
07.02.2015, 12:23
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
А... Глубокое. Такого нет, да.
|
|
07.02.2015, 12:24
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от Octane
|
эээ вы чего, при чем тут Object.assign?
nerv_, у тебя же o1.foo === o2.foo → true
|
утро, туплю
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
08.02.2015, 09:47
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Да, кстати, для неглубокого копирования массивов в ES6 есть вот такой вот сахарок:
let numbers = [1, 2, 3, 4, 5];
let copy = [...numbers];
http://6to5.org/docs/learn-es6/#default-rest-spread
|
|
08.02.2015, 17:32
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,583
|
|
Erolast, классический .slice(0) в данном случае и проще и быстрее и удобнее.)
Троеточее слишком крутая штука, чтоб для таких мелочей её юзать.)
__________________
29375, 35
|
|
08.02.2015, 18:51
|
|
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Так очевидней ж.
|
|
|
|