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