آبجکت/از نسخه
1.38.0omit
یک شیء جدید بدون ویژگیهای مشخصشده ایجاد میکند.
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);
// 2507
مقادیر 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·مستندات رسمی