![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Реально ли и как, если это реально по значению элемента массива найти его номер в массиве без перебора массива в цикле? Просто в массиве куча элементов, бывает даже больше 1000, а перебор всего массива в цикле очень затормаживает работу приложения... Подскажите плиз, если кто знает.
![]()
__________________
best regards ... |
|
|||||
|
А какой тип у элементов массива? И бывают ли одинаковые элементы?
__________________
Two beer or not two beer?... |
|
|||||
|
mc0,mc1,mc2,mc3 ... mc10000;
temp=new Array(); for(i=0;i<10000;i++){ temp[i]=eval("mc"+i); } нумер для mc55==55; |
|
|||||
|
Регистрация: May 2001
Сообщений: 1,042
|
только это работать не будет если у тебя данные в виде текста
|
|
|||||
|
Есть массив с номерами элементов
ElementsArray[1]="1" ElementsArray[2]="2" ElementsArray[3]="3" ElementsArray[4]="4" По ходу выполнения приложения некоторые элементы удаляются со сдвигом других элементов вверх и уменьшением размера массива. ElementsArray[1]="1" ElementsArray[2]="2" ElementsArray[3]="4" Вот и возникла задача без перебора всего массива допустим узнать номер элемента по его значению - например какой номер у элемента со значением "4"? Мы то знаем - ето 3-й номер, а вот как тупому компуперу ето сказать?
__________________
best regards ... |
|
|||||
|
Цитата:
Имхо, break'нуть цикл, когда temp[i]=="4"; Хоть какая-то экономия ![]() |
|
|||||
|
А если будет удален не один а несколько элементов?
Получается нельзя напрямую по значению элемента узнать его порядковый номер... ![]()
__________________
best regards ... |
|
|||||
|
Регистрация: May 2001
Сообщений: 1,042
|
нет...
а зачем тебе удолять элементы массива может их просто обнулять |
|
|||||
|
А если какие-то телодвижения привязаны к длине массива, надобно юзать вариаблу на length, которую уменьшать при условном сокращении (обнулевивания элемента) массива.
|
|
|||||
|
Регистрация: May 2001
Сообщений: 1,042
|
тогда увы...
|
![]() |
Часовой пояс GMT +4, время: 01:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|