المصفوفات في لغة JavaScript


المصفوفات في لغة JavaScript

يا هلا والله بالجميع! اليوم بنتكلم عن المصفوفات في JavaScript، من أهم وأكثر الأدوات اللي بتستخدمها في أي مشروع. الموضوع سهل وممتع، ويلا ندخل في صلب الموضوع بدون كثر حكي.

وش هي المصفوفات (Arrays)؟

باختصار، المصفوفة هي كأنها "صندوق" كبير تقدر تحط فيه مجموعة أشياء مع بعض. هالـ"أشياء" ممكن تكون أرقام، نصوص، كائنات (objects)، أو حتى مصفوفات ثانية! الحلو فيها إنها تحفظ الترتيب اللي دخلت فيه العناصر.

كيف تسوي مصفوفة؟

عندك طريقتين أساسيتين، الأسهل والأكثر استخدامًا هي الأقواس المربعة []:

// مصفوفة فاضية
const ارقام = [];

// مصفوفة فيها عناصر مباشرة
const فواكه = ['تفاح', 'برتقال', 'مانجو'];

// مصفوفة فيها أنواع مختلفة من البيانات
const معلومات_شخص = ['علي', 30, true];

console.log(فواكه); // ['تفاح', 'برتقال', 'مانجو']

ملاحظة: دايمًا استخدم const لما تعرف مصفوفة إذا كنت ما تتوقع تغير المصفوفة نفسها (يعني ما بتسوي لها إعادة تعريف كاملة). تقدر تعدل على عناصرها عادي حتى لو كانت const.

كيف توصل لعناصر المصفوفة؟

عشان توصل لأي عنصر داخل المصفوفة، تستخدم شيء اسمه "الفهرس" (Index). الفهرس يبدأ دائمًا من الصفر (0) للعنصر الأول، بعدين 1 للعنصر الثاني، وهكذا. يعني لو عندك 3 عناصر، الفهارس حقتهم بتكون 0، 1، 2.

const سيارات = ['تويوتا', 'هوندا', 'فورد', 'نيسان'];

console.log(سيارات[0]); // تويوتا
console.log(سيارات[2]); // فورد
console.log(سيارات[5]); // undefined (لأن العنصر رقم 5 مو موجود)

تعديل عناصر المصفوفة

تقدر تعدل أي عنصر في المصفوفة ببساطة عن طريق الفهرس حقه:

const مواد_دراسة = ['رياضيات', 'علوم', 'عربي'];

مواد_دراسة[1] = 'فيزياء'; // بنغير 'علوم' لـ 'فيزياء'

console.log(مواد_دراسة); // ['رياضيات', 'فيزياء', 'عربي']

طول المصفوفة (.length)

عشان تعرف كم عنصر في المصفوفة، تستخدم الخاصية length:

const مدن = ['الرياض', 'جدة', 'الدمام'];

console.log(مدن.length); // 3

const مصفوفة_فاضية = [];
console.log(مصفوفة_فاضية.length); // 0

أهم دوال المصفوفات (Methods)

المصفوفات في JavaScript مليانة دوال مفيدة تسهل عليك الشغل. بنذكر كم وحدة منها:

push() - إضافة عنصر في النهاية

تضيف عنصر (أو أكثر) في نهاية المصفوفة:

const لاعبين = ['محمد', 'سالم'];
لاعبين.push('ياسر');

console.log(لاعبين); // ['محمد', 'سالم', 'ياسر']

pop() - حذف آخر عنصر

تحذف آخر عنصر من المصفوفة وترجعه لك:

const ألوان = ['أحمر', 'أخضر', 'أزرق'];
const اللون_المحذوف = ألوان.pop();

console.log(ألوان); // ['أحمر', 'أخضر']
console.log(اللون_المحذوف); // أزرق

unshift() - إضافة عنصر في البداية

تضيف عنصر (أو أكثر) في بداية المصفوفة:

const حيوانات = ['أسد', 'نمر'];
حيوانات.unshift('فيل');

console.log(حيوانات); // ['فيل', 'أسد', 'نمر']

shift() - حذف أول عنصر

تحذف أول عنصر من المصفوفة وترجعه لك:

const أحرف = ['A', 'B', 'C'];
const الحرف_المحذوف = أحرف.shift();

console.log(أحرف); // ['B', 'C']
console.log(الحرف_المحذوف); // A

forEach() - تكرار على عناصر المصفوفة

هذي الدالة تخليك تسوي عملية معينة على كل عنصر في المصفوفة. ما ترجع مصفوفة جديدة، بس تنفذ كود لكل عنصر:

const مشروبات = ['قهوة', 'شاي', 'عصير'];

مشروبات.forEach(function(مشروب) {
  console.log('أنا أحب ' + مشروب);
});

// النتيجة:
// أنا أحب قهوة
// أنا أحب شاي
// أنا أحب عصير

وبكذا نكون غطينا أساسيات المصفوفات في JavaScript. هذي مجرد البداية، فيه دوال أكثر بكثير تقدر تستكشفها مثل map, filter, reduce وغيرها. أهم شيء إنك تمارس وتجرب بنفسك عشان تثبت المعلومة. بالتوفيق!