Форум 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=178296)

MikroAcse 18.04.2012 19:17

Как узнать, что в одном массиве есть хоть какой-то элемент из другого массива?
 
Как узнать, что в одном массиве есть хоть какой-то элемент из другого массива?
Например:
Код AS3:

a=[1,2,3]
b=[3,4,5,6]

В массиве b есть элемент (3) из массива a.

XoJlToH 18.04.2012 19:29

два цикла, не?

MikroAcse 18.04.2012 19:32

Цитата:

два цикла, не?
Я пробовал, но что-то не так:
Код AS3:

public function hasRight():Boolean
                {
                        var micse:Boolean = false;
                        var rght:Array = rightAnswer.split('|');
 
                        for (var i:uint=0; i<rght.length; i++)
                        {
                                if (choosedAnswer.indexOf(rght[i]) != -1)
                                {
                                        micse = true;
                                        break;
                                }
                        }
                        return micse;
                }


Zebestov 18.04.2012 19:49

Один проход по массиву меньшей длины с проверкой на indexOf в другом массиве.

MikroAcse 18.04.2012 19:53

Вышло:
Код AS3:

public function hasRight():Boolean
                {
                        var micse:Boolean = false;
                        var rght:Array = rightAnswer.split('|');
 
                        for (var i:uint=0; i<choosedAnswer.length; i++)
                        {
                                for (var u:uint=0; u<rght.length; u++)
                                {
                                        if(choosedAnswer[i]==rght[u]){
                                                micse=true;
                                                break;
                                        }
                                }
                        }
                        return micse;
                }


Zebestov 18.04.2012 20:03

Изобретать годится хотя бы велосипед, но никак не колесо.
Вот это
Код AS3:

for (var u:uint=0; u<rght.length; u++)
        {
                if(choosedAnswer[i]==rght[u]){

заменить на indexOf


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

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