Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Действие, совершаемое над всеми объектами массива. (http://www.flasher.ru/forum/showthread.php?t=135474)

KOBOLOK 24.01.2010 12:40

Действие, совершаемое над всеми объектами массива.
 
Добрый день) У меня возник вопрос из цикла "флеш для дошкольников". Возможно ли совершить действие над всеми объектами массива сразу, без использования цикла for ? По возможности поясните код, ибо "флеш для дошкольников"... ))

Hauts 24.01.2010 12:48

У вас в любом случае действия идут последовательно, хоть вы в цикле напишите, хоть без него.

Код AS1/AS2:

var array = [0,1,2,3,4,5,6,7,8,9];
var length = array.length;
for(var i=0; i<length; i++){
    array[i]++;
};

Тот же эффект:
Код AS1/AS2:

var array = [0,1,2,3,4,5,6,7,8,9];
array[0]++;
array[1]++;
array[2]++;
array[3]++;
array[4]++;
array[5]++;
array[6]++;
array[7]++;
array[8]++;
array[9]++;

Кстити, эти действия произойдут очень быстро. Можно сказать, что "сразу" и "моментально".

KOBOLOK 26.01.2010 20:11

Спасибо и на этом)

mooncar 26.01.2010 20:15

Запись без цикла в явном виде:
Код AS1/AS2:

for (i in arrayVar) {
  arrayVar[i]++;
}

Можно использовать, когда неохота вычислять длину массива.

KOBOLOK 28.01.2010 11:38

... А длину массива вычислять лень... Спасибо) Сейчас попробую)

Psycho Tiger 28.01.2010 12:25

Без for:
Код AS3:

var l:int=arr.length;
while (l--){
(arr as SomeClass).someAction();
}



Часовой пояс GMT +4, время: 20:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.