![]() |
|
||||||||||
|
|||||
|
Добрый день,
Пробую вот такую вот запись: var myArr:Array = [10,20,50]; var myNum:int = 10; if(myNum in myArr)trace(true) else trace(false); ...подскажите пожалуйста, существует ли возможность булевой проверки существования значения в массиве без всевозможных циклических переборов значений массива. В данном случае меня совершенно не волнует позиция (индекс) значения в массиве, а только - его существование. Если не ошибаюсь, то в других языках (Delphi) данная запись сверялась бы не с номерами индексов массива, а именно с его значениями. Хотелось бы иметь на вооружение короткий вариант проверки существования значения в массиве. |
|
|||||
|
Lorem ipsum
|
Array позволяет делать такой бардак:
var myArr:Array = []; myArr[10] = true; myArr[20] = true; myArr[50] = true; var myNum:int = 10; if (myArr[myNum]) trace(true); else trace(false); Можно создать вспомогательный массив с такой структурой, если основной все же должен иметь изначально описанную структуру (нормальную т.е.)
__________________
Поймай яблоко 2! |
|
|||||
|
Цитата:
|
|
|||||
|
Люди, индексы массива меня совсем не интересуют, меня интересует вхождение значения в любом элементе массива. Это можно сравнить к примеру с такой задачей, как:
есть ли буква "а" в слове "паровоз". Т.е. мне не важно в какой позиции слова она находится, главное узнать есть ли она там или нет за минимальное кол-во строк (желательно - одной строкой, что бы это можно было гибко применить в if условии). 2 КорДум: Благодарю, indexOf - то что нужно!!!! Последний раз редактировалось ERrorMAKros; 25.11.2010 в 18:34. |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
in array выполняется циклом, вам он никак не поможет. Это аналог (var i=0; i < array.length; i++) только короче запись, и как уверют гуру, выполняется процентов на 30 быстрее (хотя разницу при коротких массивах заметить невозможно)
Цитата:
Последний раз редактировалось goodguy; 25.11.2010 в 18:37. |
|
|||||
|
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
а почему вы решили, что indexOf не перебирает значения?
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
|
goodguy,
- так короче )
Добавлено через 32 секунды alatar )
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
да, что-то не подумал
Но это если вообще возвращать значения. А можно ведь сразу в блоке if выполнять какой-то код Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 11:23. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| array |
|
|