CyrefJS
CCyrefJS
EN
بازگشت به مستندات
تابع/از نسخه 1.38.0

negate

تابعی ایجاد می‌کند که نتیجه بولی تابع داده‌شده را معکوس می‌کند.

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));
// false
02

معکوس کردن یک شرط برای رشته

می‌توان شرط بررسی خالی بودن رشته را معکوس کرد تا پر بودن آن بررسی شود.

TypeScript
const isEmpty = (value: string) => value.length === 0;

const isNotEmpty = negate(isEmpty);

console.log(isNotEmpty("CyrefJS"));
// true

console.log(isNotEmpty(""));
// false
03

ارسال چند آرگومان

تمام آرگومان‌ها قبل از معکوس شدن نتیجه، به تابع اصلی ارسال می‌شوند.

TypeScript
const isGreater = (a: number, b: number) => a > b;

const isNotGreater = negate(isGreater);

console.log(isNotGreater(5, 3));
// false

console.log(isNotGreater(2, 4));
// true
04

استفاده با 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·مستندات رسمی