Структура данных для запроса / поиска из большого массива размером 10 ^ 6, состоящего из объектов в виде элементов в массиве

У меня есть массив данных. Это большой массив в том смысле, что он содержит 10 ^ 6 элементов. Массив состоит из объектов

Data =[`{title:"abcccc",id:1}`,
        {title:"abcccc",id:1},
        {title:"abcccc",id:1}..... 10^6];

Если я использую базовый метод фильтра в массиве, пользовательский интерфейс будет не отвечать из-за анализа такого большого набора.

Я хочу знать лучший подход, структуру данных или любую предварительную обработку массива, который я должен использовать в javascript для фильтрации необходимого элемента данных из массива данных.

Дополнительная информация: я пишу поисковую функцию / метод, в которой она будет принимать строку поиска в качестве аргумента и возвращает 3 верхних соответствующих элемента из массива данных.

Всего 1 ответ


Выровняйте массивы так, чтобы они выглядели так, как если бы вы хотели осуществлять поиск по id или использовать фильтр lodash

{1: {id: 1, name:'test}, 2: {id:2, name: 'test2'}

Поиск строки можно выполнить, используя цикл for:

Data.forEach(function(value, index) {
  if(value.summary.search("test"){
     return value;
   }
});

Для всех поисков строк больших данных рекомендуется использовать базу данных или упругий поиск.


Есть идеи?

10000