Введение
В этом практическом занятии мы изучим концепцию отрицания предикатной функции в JavaScript. Мы узнаем, как создать высшего порядка функцию, которая принимает предикатную функцию и возвращает новую функцию, которая отрицает выход исходной функции. С помощью практических примеров мы увидим, как эта техника может быть полезна при фильтрации массивов или проверке ввода.
Как отрицать предикатную функцию в JavaScript
Чтобы отрицать предикатную функцию в JavaScript, можно использовать оператор !. Для этого можно создать высшего порядка функцию под названием negate, которая принимает предикатную функцию и применяет к ней оператор ! с ее аргументами. Вот пример, как реализовать negate:
const negate =
(func) =>
(...args) =>
!func(...args);
Затем можно использовать negate, чтобы отрицать любую предикатную функцию. Вот пример, как использовать negate, чтобы отфильтровать четные числа из массива:
const isEven = (n) => n % 2 === 0;
const isOdd = negate(isEven);
[1, 2, 3, 4, 5, 6].filter(isOdd); // [ 1, 3, 5 ]
В этом примере isEven - это предикатная функция, которая проверяет, является ли число четным. Затем мы используем negate, чтобы создать новую предикатную функцию под названием isOdd, которая проверяет, является ли число нечетным, отрицая isEven. Наконец, мы используем isOdd с методом filter, чтобы отфильтровать четные числа из массива.
Резюме
Поздравляем! Вы завершили практическое занятие по отрицанию предиката. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.