التحقق من وجود المفتاح
جزء من قسم المنطق وتدفق التنفيذ في رحلة JavaScript على Coddy. الدرس 16 من 65.
للتحقق من وجود مفتاح معين في كائن JSON، استخدم إما معامل in أو hasOwnProperty(). على سبيل المثال:
const product = { "name": "Laptop", "price": 900 };
if ("price" in product) {
console.log("Key exists!");
}
if (product.hasOwnProperty("price")) {
console.log("Key exists!");
}هذا مفيد عند التحقق من وجود بيانات معينة قبل معالجتها.
سيعيد obj.hasOwnProperty("key") القيمة false إذا لم يكن لدى obj الخاصية key كخاصية خاصة به. ومع ذلك، فإن obj.key === undefined لا يعني بالضرورة أن hasOwnProperty("key") سيعيد false. هناك حالتان يكون فيهما obj.key هو undefined:
- الخاصية غير موجودة على الإطلاق ←
hasOwnProperty("key")تعيدfalse. - الخاصية موجودة ولكن قيمتها
undefined←hasOwnProperty("key")تعيدtrue.
على سبيل المثال:
const obj1 = {};
console.log(obj1.key); // undefined
console.log(obj1.hasOwnProperty("key"));
// false
const obj2 = { key: undefined };
console.log(obj2.key); // undefined
console.log(obj2.hasOwnProperty("key"));
// trueالتحدي
سهلأنشئ دالة تسمى toggleBookStatus تأخذ كائن كتاب كمعامل. يجب على الدالة القيام بما يلي:
- إذا كان الكتاب يحتوي على خاصية
isReadقيمتها true، فقم بتغييرها إلى false - إذا كان الكتاب يحتوي على خاصية
isReadقيمتها false، فقم بتغييرها إلى true - إذا لم يكن الكتاب يحتوي على خاصية
isRead، فقم بإضافتها وتعيينها إلى true - إرجاع كائن الكتاب المعدل
جرّب بنفسك
function toggleBookStatus(book) {
// اكتب كودك هنا
}
// لا تكتب أي شيء خارج الدالةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المنطق وتدفق التنفيذ
1السلاسل النصية بعمق
أساسيات السلاسل النصيةالتكرار عبر السلاسل النصيةTemplate Literalsدوال السلاسل النصيةمراجعة - String Weaver2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار عبر المجموعاتإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم وهل هي فارغةالنسخ والمسحملخص - أساسيات المجموعات8مواضيع شيقة حول الـ Arrays
تفكيك الـ Arrayاستخدام الـ Spread Syntax في الـ Arraysالـ Sparse Arraysمراجعة - ورشة عمل الـ Arrays3JSON الجزء الأول
ما هو JSON؟التحقق من وجود المفتاحObject MethodsSpread Operator الجزء الأولSpread Operator الجزء الثانيحذف المفاتيحمراجعة - معالجة مفاتيح JSONتدرّب بنفسك: مترجم JavaScript عبر الإنترنت