#arrays #for-loop #actionscript-3
#массивы #for-цикл #actionscript-3
Вопрос:
Что-то вроде этого
var array1:Array = new Array();
var array2:Array = new Array();
for each (var mc in array1 amp;amp; mc in array2)
{ trace(mc); }
очевидно, что это не работает. Я тоже пробовал
for each (var mc in array1 || mc in array2)
{ trace(mc); }
и
for each (var mc in array1)
for each (var mc in array2)
{ trace(mc); }
Комментарии:
1. Используйте переменную итератора для (var i:int = 0; i < array1.length; i ) , а затем адресуйте элементы по их индексам: array1[i] и array2[i] соответственно.
2. С другой стороны, если вам просто нужно перебрать все элементы в нескольких массивах в одном цикле, используйте Array.concat(…) для создания временного объединенного массива .
3. Английский — это не язык программирования, вам нужно преобразовать свои операторы в форму, понятную компьютеру. Даже я не понял, что вы имели в виду, говоря об итерации двух массивов в одном цикле. Почему бы вам, например, не выполнить итерацию одного массива в одном цикле, а другого массива в другом цикле?
Ответ №1:
Попробуйте это ,
var array1:Array = new Array();
var array2:Array = new Array();
int maxLength = 0;
int lengthArray1 = array1.length;
maxLength = lengthArray1;
int lengthArray2 = array2.length;
if (lengthArray2 > maxLength){
maxLength = lengthArray2;
}
for (int i = 0; i < maxLength; i ){
if (lengthArray1 > i){
trace(array1[i]);
}
if (lengthArray2 > i){
trace(array2[i]);
}
}