Показать сообщение отдельно
Старый 23.12.2005, 17:29
nyctota вне форума Посмотреть профиль Отправить личное сообщение для nyctota Найти все сообщения от nyctota
  № 13  
Ответить с цитированием
nyctota
 
Аватар для nyctota

Регистрация: Nov 2003
Адрес: Север
Сообщений: 244
Цитата:
Сообщение от MOHCTEP
Вах! Чудеса какие-то!!!!

.............................................

Второй трейс кажет, что массив забит НЕМОДИФИЦИРОВАННЫМИ данными!???!
Это как это???
Если ты потрейсишь в цикле массив "data", то увидишь, что Флэш каждую итерацию цикла заполняет этот массив (все элементы) содержимым массива "tmp", какое оно есть на момент итерации.
Почему это происходит? Похоже на то, как будто в массиве "data" хранятся ссылки на массив "tmp", а не значения...
Кто знает точно, подтвердите мысль.

Поэтому твой код можно переписать так:
Код:
var str="абвгдежзийклмнопрстуфхцчшщъыьэюя";
var data:Array=[];
var sl=str.length;
trace(str+'\t'+str.length);
init();
function init(){
var tmp:Array=str.split('');
trace("1 трейс массива");
for(var i=0;i<sl;i++){
var a=tmp.shift();
tmp.push(a);
data.push(tmp.join('').split(''));
trace(i+'\t'+data[i]);
}
trace("А вот 2 трейс готового массива!");
for(i=0;i<sl;i++){
trace(i+'\t'+data[i]);
}
}


Последний раз редактировалось nyctota; 23.12.2005 в 17:35.