Задать вопрос
@fronter-up

Как ускорить merge массивов?

Как лучше сделать merge двух массивов?
Нашел данный пример:

function arrayUnique(array) {
	console.time('arrayUnique')
	var a = [...array];
	for (var i = 0; i < a.length; ++i) {
		for (var j = i + 1; j < a.length; ++j) {
			if (Object.keys(a[i])[0] === (Object.keys(a[j])[0]))
				a.splice(j--, 1);
		}
	}
	console.timeEnd('arrayUnique')
	return a
}
arrayUnique([...arr2, ...arr1])

Функционал полностью удовлетворяет, но мне кажется немного долго обрабатывает это.
Два массива по 2000 и 50 объектов мерджить примерно за 1.5 секунды, это как-то много.
Данный пример мне подходит тем, что новые данные появляются сразу в начале нового массива.
  • Вопрос задан
  • 444 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 2
longclaps
@longclaps
Уж если научились оператору ... из ES6, освойте, что ли, новые структуры данных.
Ответ написан
@maxfox
Для вашей задачи подойдут множества. Проверка на вхождение будет занимать константное время, таким образом объединение будет делаться за линейное.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@htmldeveloper
Array.prototype.concat(arr1, arr2)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы