الحجم وهل هي فارغة
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 33 من 65.
توفر الـ Sets خاصيتين مفيدتين:
size: تعيد عدد العناصر في الـ Set. هذه القيمة تتحدث تلقائياً كلما تمت إضافة عناصر أو إزالتها.isEmpty(): طريقة مخصصة يمكننا إنشاؤها للتحقق مما إذا كانت الـ Set فارغة.
إليك كيفية استخدام خاصية size:
const mySet = new Set([1, 2, 3, 4, 5]);
console.log(mySet.size); // 5
mySet.add(6);
console.log(mySet.size); // 6
mySet.delete(1);
console.log(mySet.size); // 5لاحظ كيف يعكس size تلقائياً العدد الحالي للعناصر بعد كل عملية add() أو delete().
يمكننا إنشاء طريقة isEmpty() باستخدام خاصية size:
function isEmpty(set) {
return set.size === 0;
}
const emptySet = new Set();
const nonEmptySet = new Set([1, 2, 3]);
console.log(isEmpty(emptySet)); // true
console.log(isEmpty(nonEmptySet)); // falseالتحدي
سهلقم بإنشاء دالة تسمى partyPlanner تأخذ مصفوفة من الـ RSVPs (سلاسل نصية للأسماء). قد يكون بعض الأشخاص قد قاموا بالرد على الدعوة (RSVP) عدة مرات بدافع الحماس. يجب أن تعيد الدالة كائناً يحتوي على:
uniqueGuests: عدد الضيوف الفريدين الحاضرينhasDuplicates: قيمة منطقية (boolean) تشير إلى ما إذا كان أي شخص قد قام بالرد على الدعوة أكثر من مرةisEmpty: قيمة منطقية (boolean) تشير إلى ما إذا كان لم يقم أحد بالرد على الدعوة
جرّب بنفسك
function partyPlanner(rsvps) {
let guestSet = new Set(rsvps);
// اكتب كودك هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1السلاسل النصية بعمق
أساسيات السلاسل النصيةالتكرار عبر السلاسل النصيةTemplate Literalsدوال السلاسل النصيةمراجعة - String Weaver2المصفوفات متعددة الأبعاد
أساسيات المصفوفات ثنائية الأبعادالوصول إلى عناصر المصفوفات ثنائية الأبعادالحلقات المتداخلة مع المصفوفات ثنائية الأبعادمراجعة - المصفوفات ثنائية الأبعادجمع وطرح المصفوفاتالمصفوفات المتعرجة (Jagged Arrays)المصفوفات ثلاثية الأبعاد وما بعدهاأنماط المصفوفات ثنائية الأبعاد الشائعةمراجعة - كل شيء عن المصفوفات5المجموعات - الجزء الأول
ما هي المجموعة؟التكرار عبر المجموعاتإضافة عنصرإزالة عنصرالتحقق من وجود عنصرالحجم وهل هي فارغةالنسخ والمسحملخص - أساسيات المجموعات8مواضيع شيقة حول الـ Arrays
تفكيك الـ Arrayاستخدام الـ Spread Syntax في الـ Arraysالـ Sparse Arraysمراجعة - ورشة عمل الـ Arrays3JSON الجزء الأول
ما هو JSON؟التحقق من وجود المفتاحObject MethodsSpread Operator الجزء الأولSpread Operator الجزء الثانيحذف المفاتيحمراجعة - معالجة مفاتيح JSON