Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   проверка массивов в массиве (http://www.flasher.ru/forum/showthread.php?t=192327)

XMON 12.01.2013 11:54

проверка массивов в массиве
 
здраствуйте.
вот моя задача:
есть массив(all_floor), в нём 6 массивов(n1,n2,n3 и т.д.) которые хранят дисплей обжекты, также есть ещё один массив(thought_bot_floor). массив thought_bot_floor имеет точно такие же дисплей обджекты что и один из массивов массива all_floor, но неизвестно какой из них. Нужно просканиковыть массив all_floorи сверить его элементы с thought_bot_floor .
вот что я накидал:
Код AS3:

var thought_bot_floor:Array = new Array
var NUMBER_FLOOR_BOTS:Number = new Number
var gost:Boolean = new Boolean
var all_floor:Array = [n1, n2, n3, n4, n5, n6]
 
thought_bot_floor = all_floor[Math.floor( Math.random() * all_floor.length )]
for (var n:int; gost=true; n++)
        {
                NUMBER_FLOOR_BOTS ++
                if (thought_bot_floor == all_floor[n])
                {
                        gost = true
                        trace ("РАВНО!")
                }
        }

(то как я добавляю объекты в массивы n1, n2,n3 и т.д я не показываю, но это есть)
но переменная gost никогда не будет равна true. помогите реализовать мою задачу.

Dip52 12.01.2013 13:29

Цитата:

Сообщение от XMON (Сообщение 1115270)
здраствуйте.
вот моя задача:
есть массив(all_floor), в нём 6 массивов(n1,n2,n3 и т.д.) которые хранят дисплей обжекты, также есть ещё один массив(thought_bot_floor). массив thought_bot_floor имеет точно такие же дисплей обджекты что и один из массивов массива all_floor, но неизвестно какой из них. Нужно просканиковыть массив all_floorи сверить его элементы с thought_bot_floor .
вот что я накидал:


Код AS3:

var n1:Array = [1,2,3,4,5,6];
var n2:Array = [7,8,9,10,11,12];
var n3:Array = [13,14,15,16,17,18];
var all_floor:Array = [n1,n2,n3];
 
var thought_bot_floor:Array = [13,14,15,16,17,18];
 
//Цикл будет обходить элементы (массивы) массива all_floor:
for(var iMain:Number = 0; iMain < all_floor.length; iMain++)
{
        //Цикл будет обходить элементы массива all_floor[iMain] (то есть: n1,n2,n3):
        for(var iElement:Number = 0; iElement < all_floor[iMain].length; iElement++)
        {
                //Цикл будет обходить элементы массива thought_bot_floor:
                for(var iSubprime:Number = 0; iSubprime < thought_bot_floor.length; iSubprime++)
                {
                        //Если есть похожие цифры (в вашем случае объекты), то информирую о них:
                        if(thought_bot_floor[iSubprime] == all_floor[iMain][iElement])
                        {
                                trace("Однако есть соотвествие:",thought_bot_floor[iSubprime]+'; Индекс массива (у которого все массивы):',iMain);
                        }
                }
        }
}

Код AS3:

Однако есть соотвествие: 13; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 14; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 15; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 16; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 17; Индекс массива (у которого все массивы): 2
Однако есть соотвествие: 18; Индекс массива (у которого все массивы): 2

Я так понял твою задачу, если я неправильно понял, то извини.


Цитата:

(то как я добавляю объекты в массивы n1, n2,n3 и т.д я не показываю, но это есть)
но переменная gost никогда не будет равна true. помогите реализовать мою задачу.
Это не могу понять, особенно второе предложение.

ChuwY 12.01.2013 15:04

Ошибка как минимум тут
Цитата:

for (var n:int; gost=true; n++)
Во втором блоке должно быть условие, а у вас присваивание.
Правильным вариантом будет
Цитата:

for (var n:int; gost != true; n++)

XMON 12.01.2013 17:15

Dip52, оно самое, спасибо большое!)
даже кое что новое для себя открыл.


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

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