الـ Sparse Arrays
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 49 من 65.
المصفوفة المتفرقة (sparse array) في JavaScript هي مصفوفة تحتوي على خانات فارغة أو فجوات بين عناصرها. يتم إنشاء هذه الفجوات عندما تقوم بتعيين قيم لفهارس غير متتالية أو عند حذف عناصر من المصفوفة.
إليك مثال على إنشاء مصفوفة متفرقة (sparse array):
let sparseArray = [1, , , 4, 5];
console.log(sparseArray.length); // 5
console.log(sparseArray); // [1, فارغ × 2, 4, 5]يمكنك أيضاً إنشاء مصفوفات متفرقة (sparse arrays) من خلال التعيين إلى فهرس يتجاوز الطول الحالي:
let arr = [1, 2, 3];
arr[10] = 10;
console.log(arr); // [1, 2, 3, فارغ × 7, 10]
console.log(arr.length); // 11التحدي
سهلأنشئ دالة تسمى analyzeSparseArray تأخذ مصفوفة متفرقة (sparse array) كمعامل. يجب أن تعيد الدالة كائناً بالخصائص التالية:
length: الطول الإجمالي للمصفوفةelementCount: عدد العناصر غير الفارغة في المصفوفةlargestGap: حجم أكبر فجوة (خانات فارغة متتالية) في المصفوفة
ورقة مرجعية
المصفوفة المتفرقة (sparse array) هي مصفوفة تحتوي على خانات فارغة أو فجوات بين العناصر، وتنشأ عن طريق تعيين قيم لفهارس غير متتالية أو حذف العناصر.
إنشاء مصفوفات متفرقة تحتوي على فجوات:
let sparseArray = [1, , , 4, 5];
console.log(sparseArray.length); // 5
console.log(sparseArray); // [1, empty × 2, 4, 5]إنشاء مصفوفات متفرقة عن طريق التعيين خارج الطول الحالي:
let arr = [1, 2, 3];
arr[10] = 10;
console.log(arr); // [1, 2, 3, empty × 7, 10]
console.log(arr.length); // 11جرّب بنفسك
function analyzeSparseArray(arr) {
// اكتب الكود الخاص بك هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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