![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
|
Вах! Чудеса какие-то!!!!
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);
trace(i+'\t'+data[i]);
}
trace("А вот 2 трейс готового массива!");
for(i=0;i<sl;i++){
trace(i+'\t'+data[i]);
}
}
Это как это??? |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 29
|
Неужели ни кто не знает как запрограммировать этот метод?
(Я знаю? что все знают, просто ни кто не хочет мне помочь.) А вы знаете, что программ подобных этой в сети не так много. Сколько я смотрел в Интернете исходников не нашел. |
|
|||||
|
Регистрация: Nov 2003
Адрес: Север
Сообщений: 244
|
Цитата:
Почему это происходит? Похоже на то, как будто в массиве "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. |
|
|||||
|
Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
|
2 nyctota Спасибо, попытаю, только странно это как-то и не совсем понятно?
|
|
|||||
|
Регистрация: Nov 2003
Адрес: Север
Сообщений: 244
|
2 МОНСТЕР:
Ну, почему непонятно. Во многих (или всех серьезных? =/) языках программирования есть передача ссылки на объект. Ждем-с подтверждения от знающих людей о наличие такой возможности во Флэше (хотя, по-моему, это только что было доказано нами )2 Bubblegum: Тебе по идее все карты в руки даны -- дерзай! |
|
|||||
|
Регистрация: May 2004
Адрес: Москва
Сообщений: 76
|
Тестируем этот скрипт.
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+"!");
trace(data[i]);
}
trace("А вот 2 трейс готового массива!");
for (i=0; i<sl; i++) {
trace(i+'\t'+data[i]);
}
}
![]() 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);
trace(tmp);
//следующая строка заполняет каждый элемент массива data содержимым tmp это будет видно в трейсе
data.push(tmp);
trace(data);
}
}
__________________
Улыбка - понятие растяжимое... Последний раз редактировалось Ieshua; 24.12.2005 в 14:31. |
|
|||||
|
Регистрация: May 2004
Адрес: Москва
Сообщений: 76
|
хм...Я так понимаю массив TMP после shift и push - приобретает некоторый вид...
И если он затем закладывается в другой массив...ээ...глюки начинаются =) весь массив таинственным образом перезаписывается...
__________________
Улыбка - понятие растяжимое... |
|
|||||
|
Регистрация: May 2004
Адрес: Москва
Сообщений: 76
|
ИТОГ расследований
![]() arr = []; str = [1, 2, 3]; arr.push(str); trace(arr); //выводит 1,2,3 str.reverse(); trace(arr); //выводит 3,2,1 Цитата:
//
__________________
Улыбка - понятие растяжимое... Последний раз редактировалось Ieshua; 24.12.2005 в 17:48. |
|
|||||
|
Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
|
nyctota, Ieshua: Благодарю друзья! После столь развернутого объяснения и примеров, все стало предельно ясно!
![]() |
|
|||||
|
Регистрация: Dec 2002
Адрес: Живу вот где-то
Сообщений: 493
|
nyctota, Ieshua: Благодарю друзья! После столь развернутого объяснения и примеров, все стало предельно ясно!
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|