دالة Map
جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 52 من 65.
تُنشئ الطريقة map() مصفوفة جديدة تحتوي على نتائج استدعاء دالة محددة على كل عنصر في المصفوفة الأصلية. فهي تقوم بتحويل كل عنصر وتُرجع مصفوفة جديدة بنفس الطول.
الصيغة الأساسية:
let newArray = arr.map(function(currentValue, index, array) {
// إرجاع عنصر لـ newArray
});إليك مثال بسيط:
const numbers = [1, 2, 3, 4];
const doubled = numbers.map((num) => {
return num * 2;
});
console.log(doubled); // [2, 4, 6, 8]إليك نفس المثال بصيغة أقصر:
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]لا تقوم الطريقة map() بتغيير المصفوفة الأصلية. فهي تعيد دائماً مصفوفة جديدة.
التحدي
سهلأنشئ دالة تسمى formatNames تأخذ مصفوفة من الأسماء (سلاسل نصية) كمعامل. يجب أن تستخدم الدالة طريقة map() لتحويل كل اسم بحيث يكون بنمط حالة العنوان (الحرف الأول من كل كلمة كبير، والباقي صغير). أعد المصفوفة الجديدة للأسماء المنسقة.
ورقة مرجعية
تنشئ طريقة map() مصفوفة جديدة من خلال استدعاء دالة على كل عنصر في المصفوفة الأصلية:
let newArray = arr.map(function(currentValue, index, array) {
// إرجاع العنصر للمصفوفة newArray
});مثال باستخدام دالة السهم (arrow function):
const numbers = [1, 2, 3, 4];
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8]لا تقوم طريقة map() بتغيير المصفوفة الأصلية وتقوم دائماً بإرجاع مصفوفة جديدة بنفس الطول.
جرّب بنفسك
function formatNames(names) {
return names.map(name => {
// اكتب كودك هنا
})
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس 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