Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.06.2012, 19:18
Кандидат Javascript-наук
Отправить личное сообщение для Bebarr Swallow Посмотреть профиль Найти все сообщения от Bebarr Swallow
 
Регистрация: 17.03.2011
Сообщений: 113

Сортировка огромного массива данных
Есть массив величиной около 100 тысяч объектов. В каждом объекте храниться текст размером примерно 60-100 символов.

Нужно удалить все одинаковые значения. Должно получится что-то вроде этого:
var a = [1, 1, 2, 3, 3, 9, 7];
myFunc(a); // return [1, 2, 3, 9, 7]
Ответить с цитированием
  #2 (permalink)  
Старый 10.06.2012, 19:35
Кандидат Javascript-наук
Отправить личное сообщение для Bebarr Swallow Посмотреть профиль Найти все сообщения от Bebarr Swallow
 
Регистрация: 17.03.2011
Сообщений: 113

Собственный вариант
function uniqueData(a) {
  var cache = [];
  
  for(var x = 0; x < a.length; x++) {
    if(x == 0) {
      cache[x] = a[x];
    } else {
      for(var y = 0, alertDublicate = false; y < cache.length; y++) {
        if(cache[y] == a[x]) alertDublicate = true;
        if(y + 1 == cache.length && alertDublicate != true) cache.push(a[x]);
      };
    };
  };
  return cache;
};

uniqueData([1,2,2,3,9,9,2,5,7,8]);


Первая попытка.
Ответить с цитированием
  #3 (permalink)  
Старый 10.06.2012, 19:36
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

вопрос -а пользователю понравиться жать каждые 30 сек на окне -сценарий не отвечает если вы хотите продолжить....no:
Ответить с цитированием
  #4 (permalink)  
Старый 10.06.2012, 19:40
Кандидат Javascript-наук
Отправить личное сообщение для Bebarr Swallow Посмотреть профиль Найти все сообщения от Bebarr Swallow
 
Регистрация: 17.03.2011
Сообщений: 113

Сообщение от dmitriymar Посмотреть сообщение
вопрос -а пользователю понравиться жать каждые 30 сек на окне -сценарий не отвечает если вы хотите продолжить....no:
Не понял. Вы о чем?
Ответить с цитированием
  #5 (permalink)  
Старый 10.06.2012, 19:41
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

для таких целей был разработан Worker но увы он не работает в старых браузерах.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #6 (permalink)  
Старый 10.06.2012, 19:42
Кандидат Javascript-наук
Отправить личное сообщение для Bebarr Swallow Посмотреть профиль Найти все сообщения от Bebarr Swallow
 
Регистрация: 17.03.2011
Сообщений: 113

Сообщение от devote Посмотреть сообщение
для таких целей был разработан Worker но увы он не работает в старых браузерах.
Мне безразлично на старые браузеры. Честно говоря первый раз слышу.
Ответить с цитированием
  #7 (permalink)  
Старый 10.06.2012, 19:43
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Bebarr Swallow
Мне безразлично на старые браузеры. Честно говоря первый раз слышу.
вот и почитайте, очень удобная штука когда нужно обработать большой объем данных но при этом что бы браузер не висел.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #8 (permalink)  
Старый 10.06.2012, 19:44
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Bebarr Swallow
Не понял. Вы о чем?
о времени выполнения.
о вашем бредовом алгоритме.
берётся элемент и от него ищется и удаются такие же элемента до конца массива. Затем следующий элемент и т.д. -с каждым элементом перебор всё короче.
Ответить с цитированием
  #9 (permalink)  
Старый 10.06.2012, 19:46
Кандидат Javascript-наук
Отправить личное сообщение для Bebarr Swallow Посмотреть профиль Найти все сообщения от Bebarr Swallow
 
Регистрация: 17.03.2011
Сообщений: 113

Сообщение от dmitriymar Посмотреть сообщение
о времени выполнения.
о вашем бредовом алгоритме.
берётся элемент и от него ищется и удаются такие же элемента до конца массива. Затем следующий элемент и т.д. -с каждым элементом перебор всё короче.
Так я и говорю - это я успел написать за время после создания этой темы. Я тому и написал, что бы посоветоваться, как обойтись с таким большим массивом.

UPD: Ну да. Так и буду делать. А еще предложения будут как увеличить быстродействие?
Ответить с цитированием
  #10 (permalink)  
Старый 10.06.2012, 19:48
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Bebarr Swallow
Так я и говорю - это я успел написать за время после создания этой темы. Я тому и написал, что бы посоветоваться, как обойтись с таким большим массивом.
ну ,тогда вы графоман как минимум.
Вам уже devote подсказал в какую сторону рыть
чтоб было понятнее -разделить на участки и выполнить сортировку в каждом параллельно (Worker),
затем по мере прихода результатов соединять их в один и производить сортировку в нём-вариант 1
когда все будут обработаны-соединить их в один и производить сортировку в нём-вариант 2

вариант другой -разбить на участки,а их в свою очередь тоже на участки а их.....
затем сортировать,собирать в обр порядке,сортировать.....

Последний раз редактировалось dmitriymar, 10.06.2012 в 19:54.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Сортировка массива в JS методом пузырька mikhabor2372 Javascript под браузер 3 07.02.2012 21:51
Выборка массива данных с inputa Beriagts jQuery 9 05.08.2011 13:04
сортировка массива с сохранением ассоциации индексов HelpeR Элементы интерфейса 1 24.02.2010 11:00
Сортировка числовых данных в таблице Vladsss Общие вопросы Javascript 15 01.09.2009 17:02