@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 секнды, это как-то много.
Данный пример мне подходит тем, что новые данные появляются сразу в начале нового массива.
Буду благодарен за любые советы, как ускорить это все!
  • Вопрос задан
  • 420 просмотров
Решения вопроса 2
longclaps
@longclaps
Уж если научились оператору ... из ES6, освойте, что ли, новые структуры данных.
Ответ написан
@maxfox
Для вашей задачи подойдут множества. Проверка на вхождение будет занимать константное время, таким образом объединение будет делаться за линейное.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@htmldeveloper
Array.prototype.concat(arr1, arr2)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы