جمع وطرح المصفوفات
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 10 من 65.
لجمع أو طرح مصفوفتين، يجب أن يكون لهما نفس الأبعاد (أي نفس عدد الصفوف والأعمدة). يتم إجراء العملية عنصراً بعنصر، مما يعني أنك تقوم بجمع أو طرح العناصر المتقابلة في كل مصفوفة.
على سبيل المثال:
Matrix A:
1 2
3 4
Matrix B:
5 6
7 8
A + B:
(1+5) (2+6)
(3+7) (4+8)
Result:
6 8
10 12ضرب المصفوفات أكثر تعقيداً وسيتم تغطيته في قسم لاحق.
التحدي
سهلأنشئ دالة باسم combineMatrices تأخذ ثلاث وسائط: matrixA و matrixB وسلسلة نصية op يمكن أن تكون إما "+" أو "-". لكل خلية، إذا كانت op هي "+"، يجب أن تكون النتيجة matrixA[r][c] + matrixB[r][c]. خلاف ذلك، إذا كانت op هي "-"، يجب أن تكون النتيجة matrixA[r][c] - matrixB[r][c].
ورقة مرجعية
يتطلب جمع وطرح المصفوفات مصفوفات بنفس الأبعاد. تُجرى العمليات عنصراً بعنصر على العناصر المتقابلة.
مثال على جمع المصفوفات:
Matrix A:
1 2
3 4
Matrix B:
5 6
7 8
A + B:
(1+5) (2+6)
(3+7) (4+8)
Result:
6 8
10 12جرّب بنفسك
function combineMatrices(matrixA, matrixB, op) {
// TODO: لكل خلية، إذا كانت op هي '+'، اجمع الخلايا المتناظرة.
// بخلاف ذلك، اطرحها. أرجع المصفوفة ثنائية الأبعاد الناتجة.
}
// لا تكتب أي شيء خارج الدالةيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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