У меня есть приложение Node.js, где я должен очень часто следующие вещи: - проверить, если массив частности уже содержит определенный элемент - если элемент существует, обновить его - если элемент не существует, толкать его в массив, а затем отсортировать его с помощью подчеркивания _.sortByКак сохранить Javascript массив отсортирован, без сортировки его
для проверки, если элемент уже существует в массиве, я использую эту бинарную функцию поиска: http://oli.me.uk/2013/06/08/searching-javascript-arrays-with-a-binary-search/
в таким образом, когда размер массива растет, сортировка становится медленнее и медленнее. Я предполагаю, что размер массива может вырасти до 20 000 элементов на пользователя. И в итоге тысячи пользователей будут. Массив сортируется по ключу, что довольно короткая строка. При необходимости он может быть преобразован в целое.
Итак, мне понадобится лучший способ сохранить отсортированный массив, вместо сортировки его каждый раз, когда на него нажимается новый элемент.
Итак, мой вопрос заключается в том, как мне/мне следует изменить алгоритм бинарного поиска, который я использую, чтобы включить меня в получить индекс массива, в который должен быть помещен новый элемент, если он еще не существует в массиве ? Или какие другие возможности могли бы достичь этого. Конечно, я мог бы использовать какой-то цикл, который начинался бы с самого начала и проходил через массив, пока он не найдет место для нового элемента.
Все данные хранятся в MongoDB.
Другими словами, я хотел бы сохранить сортировку массива, не сортируя ее каждый раз при нажатии нового элемента.
Проблема заключается в том, чтобы найти индекс, где для его добавления. Это вопрос, я попытался спросить. –
Вы пробовали код, размещенный по ссылке? – Tibos