تسلسل دوال المصفوفات
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy. الدرس 55 من 65.
يتيح لك تسلسل المصفوفات (array chaining) تنفيذ عمليات متعددة على مصفوفة في عبارة واحدة. يمكن لهذا النهج أن يجعل كودك أكثر إيجازًا وسهولة في القراءة.
إليك مثالاً على ربط أساليب المصفوفات (array methods):
const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const result = numbers
.filter(num => num % 2 === 0)
.map(num => num * 2)
.reduce((sum, num) => sum + num, 0);
console.log(result); // 60في هذا المثال، نبدأ بمصفوفة من الأرقام، ونقوم بتصفية الأرقام الفردية باستبعادها، ثم نضاعف كل رقم متبقٍ، وبعد ذلك نجمع النتائج.
ترتيب السلسلة (chaining) مهم للغاية. كل دالة في السلسلة تعمل على نتيجة الدالة التي تسبقها.
التحدي
سهلأنشئ دالة باسم processFruits تأخذ مصفوفة من كائنات الفواكه. يحتوي كل كائن فاكهة على الخاصيتين name (سلسلة نصية) و quantity (رقم).
يجب أن تستخدم الدالة طرق المصفوفات المتسلسلة لـ:
- تصفية الفواكه واستبعاد التي تكون كميتها 0
- تحويل اسم كل فاكهة إلى أحرف كبيرة (uppercase)
- إنشاء سلسلة نصية تسرد جميع الفواكه مع كمياتها مثل "APPLE: 5, BANANA: 3"
تذكير سريع:
يمكنك استخدام الدالة .join(", ") لتحويل مصفوفة من السلاسل النصية إلى سلسلة نصية واحدة.
من الممكن تسلسل دالة .join() أيضاً:
arr.filter(...)
.map(...)
.join(...)جرّب بنفسك
function processFruits(fruits) {
// اكتب كودك هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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 الجزء الثانيحذف المفاتيحمراجعة - معالجة مفاتيح JSON6المجموعات - الجزء الثاني
الرياضيات - اتحاد المجموعاتالرياضيات - تقاطع المجموعاتالرياضيات - الفرق بين المجموعاتالرياضيات - الفرق المتناظرالمجموعات الجزئية والمجموعات الفائقةمراجعة - مجموعات الأصدقاء9دوال المصفوفات المتقدمة
دالتا Join و Splitدالة Mapدالة Filterدالة Reduceتسلسل دوال المصفوفاتهل ForEach و Map متماثلتان؟دالة Sortدالتا Find و FindIndexمراجعة - محترف التسلسلتدرّب بنفسك: مترجم JavaScript عبر الإنترنت