![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2011
Сообщений: 40
|
Доброе утро, уважаемые форумчане, появилась проблема, никак не могу разобраться: Есть код
function createWave ():Array { var temp:Array = new Array(); ar = new Array(); //...создание массива элементов ear1 temp[0]=ear1; ar.push(ear1); //...создание массива элементов ear2 temp[1]=ear2;ar.push(ear2);} //...создание массива элементов ear3 temp[2]=ear3;ar.push(ear3);} return temp; } |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
В этом коде я не вижу двумерного массива. Оба массива обычные. Просто в первом случае явно ссылка помещается на указанный индекс, а во втором она добавляется в конец массива. Но по сути происходит одно и то же. |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 40
|
То есть, как обычные??? если я первой ячейке массива temp - temp[0] присваиваю массив ear1, второй - массив ear2, и т.д. то это не 2мерный массив?, то как же тогда 2мерный выглядит? мож, я чего-то не понял?
|
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Значит они оба двумерные. Но никак не
Цитата:
И вообще не ясно что происходит в коде. Приведенный кусок кода к описанной проблеме вообще отношения не имеет. |
|
|||||
|
В вашем случае оба массива двухмерные. Если ear1, ear2 и ear3 - массивы, то поместив эти массивы в temp - вы получите temp - двухмерный массив. Но те же массивы ear1, ear2 и ear3 вы помещаете в массив ar. С чего вы тогда взяли, что ar состоит из мувиклипов. Он состоит из массивов.
Добавлено через 43 секунды Не успел. Добавлено через 5 минут function createWave ():Array { var temp:Array = new Array(); ar = new Array(); for (var i:uint = 0; i < 3; i++){ //помещаем в массив temp массив ear1, потом ear2, потом ear3 temp[i] = this["ear"+(i+1)]; for(var j:uint = 0; j < temp[i].length; j++){ //помещаем в ar каждый элемент двумерного массива temp[i][j] ar.push(temp[i][j]); } } return temp; }
__________________
Я мало чего умею, но зато хорошо умею учиться... Последний раз редактировалось HardCoder; 12.01.2012 в 15:11. |
|
|||||
|
вероятна путаница из-за терминологии, во флеше нет многомерных массивов, только одномерные
можно только массив массивов глянь такой расклад var temp:Array = new Array(); var ar:Array = new Array(); var ear1:Array = [1, 2, 3];//...создание массива элементов ear1 temp[0]=ear1; ar = ar.concat(ear1); var ear2:Array = [5, 6, 7]; //...создание массива элементов ear2 temp[1] = ear2; ar = ar.concat(ear2); trace( "temp.length : " + temp.length); for (var i:* in temp) trace(temp[i]); trace( "ar.length : " + ar.length); for (var j:* in ar) trace(ar[j]); |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 40
|
Спасибо большое, всем кто ответил, заработало)))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:38. |
|
|
« Предыдущая тема | Следующая тема » |
|
|