Введение
В этом практическом занятии мы научимся реализовывать объединение массивов на основе функции на JavaScript. Мы будем использовать предоставленную функцию сравнения, чтобы найти и вернуть все элементы, которые присутствуют хотя бы один раз в любом из двух массивов. В конце практического занятия у вас будет лучше понимание того, как использовать метод Array.prototype.findIndex() и объект Set для сравнения и объединения массивов.
Как найти объединение двух массивов на основе функции
Чтобы найти объединение двух массивов на основе функции с использованием Node.js, следуйте этим шагам:
- Откройте Терминал/SSH и введите
node. - Используйте следующий код, чтобы создать
Setсо всеми значениямиaи значениями изb, для которых функция сравнения не находит совпадений вa, с использованиемArray.prototype.findIndex():
const unionWith = (a, b, comp) =>
Array.from(
new Set([...a, ...b.filter((x) => a.findIndex((y) => comp(x, y)) === -1)])
);
- Вызовите функцию
unionWithс тремя аргументами: первым массивом, вторым массивом и функцией сравнения. - Функция возвращает каждый элемент, который присутствует хотя бы один раз в любом из двух массивов, с использованием предоставленной функции сравнения.
- Вот пример вызова функции
unionWith:
unionWith(
[1, 1.2, 1.5, 3, 0],
[1.9, 3, 0, 3.9],
(a, b) => Math.round(a) === Math.round(b)
);
// [1, 1.2, 1.5, 3, 0, 3.9]
Возвращается [1, 1.2, 1.5, 3, 0, 3.9] как объединение двух массивов.
Резюме
Поздравляем! Вы завершили практическое занятие по объединению массивов на основе функции. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.