Как обрабатывать огромные данные в javascript?

У меня есть список объектов (размер списка более 25к). Мне нужно выполнить разные операции с этим списком, например. выделите эти слова в пользовательском интерфейсе, добавьте, обновите, удалите объекты в списке и т. д. Я также должен следить за дубликатами. Как лучше всего обрабатывать эти огромные данные для таких операций.

Пагинация. Для чего-то еще потребуется слишком много узлов DOM.

Shadow 02.07.2018 06:30

Даже если я использую разбиение на страницы, чтобы выделить текст в пользовательском интерфейсе, мне нужно просмотреть полный список

Akash Suryawanshi 02.07.2018 06:32

это не огромно. выполняйте операции в нужное время, предотвращайте ненужные операции, перехватывайте узлы или их одинаковые свойства, верьте в виртуальный дом.

nullqube 02.07.2018 06:34

@AkashSuryawanshi, это не проблема. Дело в том, чтобы хранить как можно меньше в DOM. Javascript может обрабатывать 25k элементов без проблем. DOM не может.

Shadow 02.07.2018 06:37
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
4
2 833
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы также можете прочитать похожие статьи в Интернете: https://www.keycdn.com/blog/javascript-performance/

Зайдите в http://jsben.ch/ и в обзоре посмотрите тесты других

использовать document.CreateElement

и перебирать массив дешево даже для 1M +:

var arr = new Array(1111111).fill().map( (_,n)=>n );
var t0 = performance.now();
for( var l = arr.length - 1; l >= 0; --l ) {
    arr[l]+= 1;
}
var t1 = performance.now();
console.info(t1-t0+" millisec");
Ответ принят как подходящий
  1. Вы не должны выполнять вычисления с огромными данными на стороне клиента.
  2. Используйте базу данных (SQL или No-SQL) или решение для кэширования (например, redis) и сохраните предварительно обработанные данные (не знаю, подойдет ли это вашим требованиям).
  3. Как упоминалось в @Shadow, используйте разбиение на страницы (чрезмерные манипуляции с DOM убивают производительность)
  4. Вы можете использовать сокеты для обработки небольших фрагментов данных и отправки с событиями сокетов. Затем вы можете манипулировать DOM после каждого небольшого фрагмента (не знаю, соответствует ли он вашим требованиям).
  5. Как обрабатывать операции с большими массивами в Javascript?
  6. Какой самый эффективный способ управлять большими наборами данных с помощью Javascript / jQuery в IE?
  7. Как обрабатывать большие объемы данных в JavaScript

Другие вопросы по теме