![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Jan 2010
Сообщений: 91
|
Необходима функция поиска для массива Array
Есть ли она? И как её реализовать для 6-ого плеера? То-еесть могу и сам написать но может у вас есть наработки какие-нибудь!! Как говорится зачем изобретать велосипед? Заранее спасибо за помощь! |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
function searchInArray(arr, obj){ for(var i in arr){ if(arr[i] == obj){ return i } } return -1 }
__________________
hauts.ru Последний раз редактировалось Hauts; 18.01.2010 в 22:53. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 91
|
хм но здесь простой перебор! Мне нужно что нибудь пооптимальней
Функция очень критична для исполнения скрипта! А комп слабый |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Переходите на AS3.0 в таком случае.
|
|
|||||
|
Регистрация: Jan 2010
Сообщений: 91
|
С радостью но не могу привязан к 6-ому
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
|
|
|||||
|
Регистрация: Jan 2010
Сообщений: 91
|
Мда чувствую нароботок не у кого нету придётся шерстить Кнута
|
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
А какие еще могут быть наработки? Расскажите?
Зачем вам шестой плеер, когда уже есть десятый? Что вы намерены сделать для шестого плеера, учитывая, что вам нужно что-то найти в массиве, но простой перебор является критичным?
__________________
hauts.ru Последний раз редактировалось Hauts; 18.01.2010 в 23:35. |
|
|||||
|
Регистрация: Jan 2010
Сообщений: 91
|
А)массив большой !
Б)Функция вызывается часто при перерасчёте! В)Компьютер слабый Г) Помимо плеера на нем лежат другие более важные задачи Д) Заличензирован только 6-ой И т д и т п этот список можно продолжать ..... |
|
|||||
|
блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
|
Я вас понял. Можно попробовать присваивать ключ к объекту, и уже смотреть существование ключа в объекте, а не перебор массива. Например, так:
Array.prototype.addForSearch = function(obj, key) { if (this.keysObject == undefined) { this.keysObject = {}; } //key = (!key) ? obj : key; this.push(obj); this.keysObject[key] = {id:this.length-1}; return this.length; }; Array.prototype.searchByKey = function(key, returnObject) { if (!this.keysObject) { return -1; } if (this.keysObject[key] != undefined) { if (this[this.keysObject[key].id] != undefined) { if (returnObject) { return this[this.keysObject[key].id]; } return this.keysObject[key].id; } } return -1; }; var someArray = [] someArray.addForSearch({text:"One"}, 1) someArray.addForSearch({text:"Two"}, 2) someArray.addForSearch({text:"Three"}, 3) someArray.addForSearch({text:"Four"}, 4) someArray.addForSearch({text:"Five"}, 5) trace(someArray.searchByKey(3)) // Второй номер в массиве, третий элемент trace(someArray.searchByKey(3, true).text) // Вернет объект по ключу
__________________
hauts.ru Последний раз редактировалось Hauts; 19.01.2010 в 08:29. |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|