Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Реально ли по значению элемента массива найти его номер в массиве без перебора? (http://www.flasher.ru/forum/showthread.php?t=25903)

MagicMax 17.01.2002 14:08

Реально ли по значению элемента массива найти его номер в массиве без перебора?
 
Реально ли и как, если это реально по значению элемента массива найти его номер в массиве без перебора массива в цикле? Просто в массиве куча элементов, бывает даже больше 1000, а перебор всего массива в цикле очень затормаживает работу приложения... Подскажите плиз, если кто знает. :confused:

SPV 17.01.2002 14:25

А какой тип у элементов массива? И бывают ли одинаковые элементы?

Papa Karlo 17.01.2002 15:12

mc0,mc1,mc2,mc3 ... mc10000;

temp=new Array();
for(i=0;i<10000;i++){
temp[i]=eval("mc"+i);
}

нумер для mc55==55;

Cerber 17.01.2002 15:47

только это работать не будет если у тебя данные в виде текста

MagicMax 17.01.2002 15:53

Объясняю мою задачу
 
Есть массив с номерами элементов

ElementsArray[1]="1"
ElementsArray[2]="2"
ElementsArray[3]="3"
ElementsArray[4]="4"

По ходу выполнения приложения некоторые элементы удаляются со сдвигом других элементов вверх и уменьшением размера массива.

ElementsArray[1]="1"
ElementsArray[2]="2"
ElementsArray[3]="4"

Вот и возникла задача без перебора всего массива допустим узнать номер элемента по его значению - например какой номер у элемента со значением "4"? Мы то знаем - ето 3-й номер, а вот как тупому компуперу ето сказать?

Papa Karlo 17.01.2002 16:01

Цитата:

а вот как тупому компуперу ето сказать?
мицропхоне подключи :D

Имхо, break'нуть цикл, когда temp[i]=="4";
Хоть какая-то экономия :rolleyes:

MagicMax 17.01.2002 16:24

А если удалится не один а несколько элементов?
 
А если будет удален не один а несколько элементов? :confused: Получается нельзя напрямую по значению элемента узнать его порядковый номер... :(

Cerber 17.01.2002 16:31

нет...
а зачем тебе удолять элементы массива может их просто обнулять

Papa Karlo 17.01.2002 16:44

А если какие-то телодвижения привязаны к длине массива, надобно юзать вариаблу на length, которую уменьшать при условном сокращении (обнулевивания элемента) массива.

Cerber 17.01.2002 16:51

тогда увы...


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

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