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

omit

یک شیء جدید بدون ویژگی‌های مشخص‌شده ایجاد می‌کند.

omit(object, keys):Omit<T, K>

نحوه عملکرد

این تابع ابتدا با استفاده از spread syntax یک کپی سطحی از شیء ایجاد می‌کند و سپس هر کلید موجود در آرایه keys را از کپی حذف می‌کند.

شیء اصلی

شیء اصلی تغییر نمی‌کند، زیرا ویژگی‌ها از یک کپی سطحی جدید حذف می‌شوند.

کپی سطحی

اشیای تو در تو و آرایه‌ها clone نمی‌شوند و reference آن‌ها به شیء خروجی منتقل می‌شود؛ بنابراین تغییر یک مقدار تو‌در‌تو از طریق خروجی می‌تواند روی شیء اصلی نیز اثر بگذارد.

کلیدهای type-safe

جنریک K به keyof T محدود شده است، بنابراین TypeScript آرایه keys را به کلیدهایی که در شیء ورودی وجود دارند محدود می‌کند.

پارامترها

objectTالزامی

شیئی که باید ویژگی‌ها از آن حذف شوند.

keysK[]الزامی

آرایه‌ای از کلیدهایی که باید از شیء خروجی حذف شوند.

مقدار بازگشتی

Omit<T, K>

یک شیء جدید شامل ویژگی‌های شیء اصلی، به‌جز کلیدهای مشخص‌شده.

مثال‌ها

01

استفاده پایه

TypeScript
const user = {
  name: "Amir",
  age: 22,
  role: "developer",
};

omit(user, ["age"]);
// {
//   name: "Amir",
//   role: "developer",
// }
02

حذف چند ویژگی

TypeScript
const user = {
  name: "Amir",
  age: 22,
  role: "developer",
};

omit(user, ["age", "role"]);
// {
//   name: "Amir",
// }
03

آرایه کلید خالی

TypeScript
const user = {
  name: "Amir",
  age: 22,
};

omit(user, []);
// {
//   name: "Amir",
//   age: 22,
// }
04

حذف تمام ویژگی‌ها

TypeScript
const user = {
  name: "Amir",
  age: 22,
};

omit(user, ["name", "age"]);
// {}
05

شیء اصلی تغییر نمی‌کند

TypeScript
const user = {
  name: "Amir",
  age: 22,
};

const result = omit(user, ["age"]);

console.log(user);
// {
//   name: "Amir",
//   age: 22,
// }
06

اشیای تو در تو حفظ می‌شوند

TypeScript
const user = {
  name: "Amir",
  profile: {
    age: 22,
  },
};

const result = omit(user, ["name"]);

result.profile.age = 25;

console.log(user.profile.age);
// 25
07

مقادیر falsy حفظ می‌شوند

TypeScript
const data = {
  count: 0,
  active: false,
  name: "",
};

omit(data, ["active"]);
// {
//   count: 0,
//   name: "",
// }
08

مقادیر undefined

TypeScript
const data = {
  value: undefined,
  name: "Amir",
};

omit(data, ["name"]);
// {
//   value: undefined,
// }
ساخته شده با@cyref/js·مستندات رسمی