تابع/از نسخه
1.38.0negate
تابعی ایجاد میکند که نتیجه بولی تابع دادهشده را معکوس میکند.
negate(fn):(...args: TArgs) => booleanپارامترها
fn(...args: TArgs) => booleanالزامیتابعی که نتیجه بولی آن باید معکوس شود.
مقدار بازگشتی
(...args: TArgs) => booleanتابع جدیدی را برمیگرداند که مقدار بولی مخالف نتیجه تابع اصلی را برمیگرداند.
مثالها
01
استفاده پایه
تابع جدید نتیجه بولی را معکوس میکند.
TypeScript
const isEven = (value: number) => value % 2 === 0;
const isOdd = negate(isEven);
console.log(isOdd(3));
// true
console.log(isOdd(4));
// false02
معکوس کردن یک شرط برای رشته
میتوان شرط بررسی خالی بودن رشته را معکوس کرد تا پر بودن آن بررسی شود.
TypeScript
const isEmpty = (value: string) => value.length === 0;
const isNotEmpty = negate(isEmpty);
console.log(isNotEmpty("CyrefJS"));
// true
console.log(isNotEmpty(""));
// false03
ارسال چند آرگومان
تمام آرگومانها قبل از معکوس شدن نتیجه، به تابع اصلی ارسال میشوند.
TypeScript
const isGreater = (a: number, b: number) => a > b;
const isNotGreater = negate(isGreater);
console.log(isNotGreater(5, 3));
// false
console.log(isNotGreater(2, 4));
// true04
استفاده با filter
میتوان از شرط معکوسشده برای انتخاب مقادیری استفاده کرد که شرط اصلی را برقرار نمیکنند.
TypeScript
const isEven = (value: number) => value % 2 === 0;
const isOdd = negate(isEven);
const numbers = [1, 2, 3, 4, 5, 6];
const result = numbers.filter(isOdd);
console.log(result);
// [1, 3, 5]05
تابع اصلی بدون تغییر باقی میماند
تابع negate یک تابع جدید ایجاد میکند و تابع اصلی را تغییر نمیدهد.
TypeScript
const isPositive = (value: number) => value > 0;
const isNotPositive = negate(isPositive);
console.log(isPositive(5));
// true
console.log(isNotPositive(5));
// falseساخته شده با@cyref/js·مستندات رسمی