تفكيك الـ Array
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 47 من 65.
تفكيك المصفوفة (Array destructuring) هو طريقة مريحة لاستخراج قيم متعددة من مصفوفة وتعيينها لمتغيرات في عبارة برمجية واحدة. وهي تستخدم صيغة تحاكي بنية المصفوفة الحرفية.
الصيغة الأساسية:
const [a, b, c] = [1, 2, 3];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3يمكنك تخطي العناصر:
const [a, , c] = [1, 2, 3];
console.log(a); // 1
console.log(c); // 3يمكنك استخدام معاملات البقية (rest parameters) لالتقاط العناصر المتبقية:
const [a, ...rest] = [1, 2, 3, 4, 5];
console.log(a); // 1
console.log(rest); // [2, 3, 4, 5]يمكنك توفير قيم افتراضية:
const [a, b, c = 3] = [1, 2];
console.log(c); // 3التحدي
سهلأنشئ دالة تسمى analyzeArray تأخذ مصفوفة كمعامل. يجب أن تستخدم الدالة تفكيك المصفوفة (array destructuring) لاستخراج العناصر الأول والثاني والأخير من المصفوفة. يجب أن تُعيد كائناً بالخصائص التالية:
first: العنصر الأول في المصفوفةsecond: العنصر الثاني في المصفوفةlast: العنصر الأخير في المصفوفةrestLength: عدد العناصر المتبقية في المصفوفة
إذا لم يكن أي من هذه العناصر موجوداً، استخدم القيم الافتراضية null.
ورقة مرجعية
يستخرج تفكيك المصفوفة (Array destructuring) قيمًا متعددة من مصفوفة ويقوم بتعيينها لمتغيرات في عبارة واحدة:
const [a, b, c] = [1, 2, 3];
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3تخطي العناصر عن طريق ترك مسافات فارغة:
const [a, , c] = [1, 2, 3];
console.log(a); // 1
console.log(c); // 3استخدم معاملات الباقي (rest parameters) لالتقاط العناصر المتبقية:
const [a, ...rest] = [1, 2, 3, 4, 5];
console.log(a); // 1
console.log(rest); // [2, 3, 4, 5]توفير قيم افتراضية للعناصر المفقودة:
const [a, b, c = 3] = [1, 2];
console.log(c); // 3جرّب بنفسك
function analyzeArray(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