этот вопрос задается ежедневно. и немного задолбал.
Этот вопрос - проблема современности. Это из-за того, что нынешние недопрограммисты не учат низкоуровневые языки. Они даже и предположить не могут, что объект не умеет вот так вот взять и раздвоиться, он ведь о себе ничего не знает. И что в некоторых языках, чтобы получить копию объекта, перегружают оператор =. А потом появляются вопросы типа "а чего это я написал object2=object1 и при изменении object2 меняется object1" или "а почему в SharedObject при flush не сохраняются объекты "....
ах, да. по теме

Код:
var startString:Array=[0,1,2,3,4,5];
var step1:Array = startString.slice();
step1[1] = -50;
var step2:Array = startString.slice();
step2[2] = 800;
trace(step1);
trace(step2);
trace(startString);