مقدمة:
تتكون كائنات JavaScript من خصائص، وهي فقط قيمة المفتاح أزواج. في جوهرها، تتكون الخصائص من زوج من المفاتيح والقيم التي يمكن أن تمثل أي نوع من الكيانات. حتى الوظائف لديها القدرة على العمل كقيمة أو مفتاح في أي كائن. على أية حال، سنتحدث في هذا القسم عن كيفية حذف المفاتيح من Object JavaScript.
يتم حذف القيمة المرتبطة بالمفتاح تلقائيًا عند إزالة المفتاح. لذا، فإن إزالة المفتاح يستلزم فقط إزالة تلك السمة. توجد الآن ثلاث طرق في JavaScript لإزالة المفاتيح من الكائنات. دعونا نلقي نظرة سريعة على كل واحد.
إذا لزم الأمر، يمكن مسح الخصائص الموجودة في كائنات JavaScript. هناك ثلاث طرق بسيطة يمكننا استخدامها لمسح أي خاصية للكائن بسرعة. التقنية الأولى تستخدم يمسح عامل التشغيل، عامل معين في جافا سكريبت، تستخدم الطريقة الثانية تدمير الكائنات ، والطريقة الثالثة تستخدم Reflect.deleteProperty() طريقة.
1. قم بإزالة خاصية من كائن JavaScript باستخدام عامل الحذف:
عامل الحذف هو عامل محدد في JavaScript. إذا أردنا إزالة مفتاح من كائن JavaScript، فاستخدم الأمر حذف المشغل . يقوم عامل الحذف بما يوحي به اسمه بالضبط: فهو يزيل الخاصية المتوفرة من الكائن. على الرغم من أنه يجب علينا أولاً الوصول إلى الخاصية لحذفها. يمكن استخدام إما موصل خاصية النقطة أو موصل خاصية الأقواس المربعة للوصول إلى خاصية الكائن.
الحذف باستخدام طريقة النقطة:
بناء الجملة:
delete object.property;
مثال:
شبكات الحاسب
let emp = { name: 'saswat', age: 26, designation: 'Software Engineer', } console.log(emp);
انتاج:
{ name: 'saswat', age: 26, designation: 'Software Engineer' } age: 26 designation: 'Software Engineer' name: 'saswat'
لنقم بإزالة خاصية العمر بطريقة تعتمد على النقاط.
delete emp.age; console.log(emp);
انتاج:
{ name: 'saswat', designation: 'Software Engineer' } designation: 'Software Engineer' name: 'saswat'
توضيح:
يمكننا أن نرى من الناتج أعلاه أن عامل الحذف كان فعالاً في حذف الكائن emp's عمر الملكية (طريقة النقطة) .
الحذف باستخدام طريقة القوس المربع:
بناء الجملة:
delete object['property'];
دعونا نستخدم الأقواس المربعة لحذف خاصية التعيين من نفس الكائن emp.
حالة بوابة -s
let emp = { name: 'saswat', age: 26, designation: 'Software Engineer', } delete emp['designation']; console.log(emp);
انتاج:
{ name: 'saswat', age: 26 } name: 'saswat' age: 26
توضيح:
يمكننا أن نرى من الناتج أعلاه أن عامل الحذف نجح في حذف تعيين خاصية الكائن emp (طريقة بين قوسين مربعين) .
2. إزالة خاصية من كائن JavaScript باستخدام تدمير الكائنات:
تدمير الكائن يمكن استخدامه أيضًا لإزالة خاصية من كائن ما، ولكن هناك مشكلة. بدلاً من تعديل الكائن الأصلي، يتم إنشاء كائن جديد لا يتضمن الخاصية المحذوفة. وبهذه الطريقة يتم الحفاظ على العنصر الأصلي (لا يتغير).
بناء الجملة:
const{ propertyToRemove, ...newObject } = OriginalObject;
مثال:
const laptop = { brand: 'HP', model: 'Notebook', year: 2020, } const {model, ...newLaptop} = laptop; console.log(newLaptop); console.log(laptop);
انتاج:
{ brand: 'HP', year: 2020 } { brand: 'HP', model: 'Notebook', year: 2020 }
توضيح:
الثور مقابل الثور
في المثال المذكور أعلاه، قمنا بإزالة خاصية من كائن باستخدام كائن تدمير . عندما استخدمنا تدمير الكائن لإزالة نموذج الخاصية من كائن الكمبيوتر المحمول الأصلي، حصلنا على الكائن الجديد myLaptop بدون تلك الخاصية. مرة أخرى، يوضح الإخراج أن العنصر الأصلي ظل دون تغيير.
3. قم بإزالة خاصية من كائن JavaScript باستخدام طريقة Reflect.deleteProperty():
ال Reflect.deleteProperty() يتم توفير الطريقة من خلال أحد كائنات JavaScript المضمنة التي تسمى 'يعكس' . يشبه هذا الأسلوب نموذج وظيفة عامل الحذف، الذي ناقشناه.
مثال:
const cars = { car1: 'Honda', car2: 'Tata', car3: 'Toyota' }; Reflect.deleteProperty(cars, 'car2'); console.log(cars);
انتاج:
{ car1: 'Honda', car3: 'Toyota' }
توضيح:
في المثال أعلاه، كان هناك كائن يسمى 'سيارات' التي كانت لها ثلاث خصائص. لإزالة car2 الملكية من هذا الكائن، استخدمنا Reflect.deleteProperty() طريقة. يوضح الإخراج أن حذف خاصية car2 من كائن السيارات كان ناجحًا.
أخيرًا، نود أن نقول أنه لا فرق بين استخدامك لـ حذف المشغل أو ال Reflect.deleteProperty() الطريقة لأنهما يقومان بالعمل بنفس التعقيد الزمني بشكل أساسي. ومع ذلك، الاستفادة تدمير الكائن يستغرق المزيد من الوقت. ومن ثم، نظرًا لتركيب الجملة البسيط وتعقيد الوقت المنخفض، يعد عامل الحذف الطريقة الأكثر شيوعًا لإزالة المفاتيح من كائنات جافا سكريبت.
خاتمة
تتكون كائنات JavaScript من خصائص، وهي مجرد أزواج قيمة مفتاحية. يتم حذف القيمة المرتبطة بالمفتاح تلقائيًا عند إزالة المفتاح.