Страница 1 из 1
Jscript связь между массивами
Добавлено: 18 ноя 2013, 01:22
vlsopin
Обнаружил совершенно случайно, что при добавлении в массив элемента из другого массива и изменении значения одного из элементов в данном массиве почему-то изменяется значение именно этого элемента в массиве, из которого добавлялся элемент!? Проверил на .push() и unshift результат одинаков!? Это дико мешает в работе, т.к. значения исходного массива все время меняются!? Кто встречал такой эффект!?
Re: Jscript связь между массивами
Добавлено: 18 ноя 2013, 01:34
Duncon
Тыб код привёл..
Re: Jscript связь между массивами
Добавлено: 18 ноя 2013, 01:54
vlsopin
Обнаружил совершенно случайно, что при добавлении в массив элемента из другого массива и изменении значения одного из элементов в данном массиве почему-то изменяется значение именно этого элемента в массиве, из которого добавлялся элемент!? Проверил на .push() и unshift результат одинаков!? Это дико мешает в работе, т.к. значения исходного массива все время меняются!? Кто встречал такой эффект!?
vert2.push([1,1,1])
vert3.unshift(vert2[0]) ;
vert3[0][0]*=100;
alert(vert3[0][0]);alert(vert2[0][0]);
Re: Jscript связь между массивами
Добавлено: 18 ноя 2013, 02:22
Duncon
Инициализация массивов где?
Re: Jscript связь между массивами
Добавлено: 18 ноя 2013, 13:27
vlsopin
Что трудно добавить vert2=[] vert3=[]? Так я проверил, что если добавлять в новый массив не : vert3.push(vert2[0]) а вот так - vert3.push([vert2[0][0],vert2[0][1],vert2[0][2]]) , то явления изменения исходного массива не происходит!? Во кино!?
Re: Jscript связь между массивами
Добавлено: 18 ноя 2013, 13:59
somewhere
Хромопера - 100,100
IE9 - 100,100
FF - 100, 100
ЧЯДНТ?
Re: Jscript связь между массивами
Добавлено: 18 ноя 2013, 14:46
vlsopin
Кранты!? Что же делать? У меня скрипт 64 раза формирует массив из исходного массива 8 точек и после масштабирования исходный массив использовать нельзя!? Пришлось формировать каждый раз формировать этот массив снова!?
Re: Jscript связь между массивами
Добавлено: 18 ноя 2013, 16:09
somewhere
Поскольку vert2[0] - это объект (элемент массива), то в vert3 идет ссылка на него. Отсюда и проблема.
Re: Jscript связь между массивами
Добавлено: 18 ноя 2013, 19:37
vlsopin
Я так и подумал!? Сейчас это мне мешает, но где-то может пригодиться. Спасибо за общение! Тема закрыта.