المصفوفات (متقدم)

إضافة عنصر لبداية المصفوفة

تعلمنا سابقاً إضافة عنصر لنهاية المصفوفة في درس المصفوفات (مستوى متوسط)، واﻵن سنتعلم إضافة عنصر لبداية المصفوفة باستخدام الدالة unshift()

var nums = [20, 30, 40, 50];
nums.unshift(10);
console.log(nums);
ناتج التشغيل [10, 20, 30, 40, 50]

حذف أول عنصر في المصفوفة

تعلمنا سابقاً حذف آخر عنصر في المصفوفة في درس المصفوفات (مستوى متوسط)، واﻵن سنتعلم حذف أول عنصر في المصفوفة باستخدام الدالة shift()

var nums = [10, 20, 30, 40, 50];
nums.shift();
console.log(nums);
ناتج التشغيل [20, 30, 40, 50]

اقتطاع المصفوفة slice()

يمكنك استخدام الدالة slice() في اقتطاع المصفوفة... أي أخذ جزء محدد من المصفوفة، وتأخذ مُدخلين.. المدخل الأول هو مفتاح بداية الإقتطاع (من)، والمُدخل الثاني هو مفتاح نهاية اﻹقتطاع (إلى).

الدالة slice() لا تؤثر على المصفوفة اﻷصلية، هي فقط تقوم بإرجاع مصفوفة جديدة مقتطعة...

مثال لاقتطاع أول ثلاثة عناصر من المصفوفة

var nums = [10, 20, 30, 40, 50];
console.log(nums);
var newArray = nums.slice(0, 2);
console.log(newArray);
ناتج التشغيل [10, 20, 30, 40, 50]
[10, 20]

في المثال السابق حددنا البداية العنصر الذي مفتاحه 0 أي العنصر اﻷول، والنهاية العنصر الذي مفتاحه 2 أي العنصر الثالث، فكانت النتيجة اقتطاع أول عنصرين من المصفوفة.

اﻹقتطاع إلى النهاية

يمكنك ألّا تحدد مُدخل النهاية وستقوم الدالة تلقائياً باﻹقتطاع حتى نهاية المصفوفة، فمثلاً نريد اﻹقتطاع من العنصر الثالث إلى نهاية المصفوفة:

مثال لاقتطاع أول ثلاثة عناصر من المصفوفة

var nums = [10, 20, 30, 40, 50];
var newArray = nums.slice(2);
console.log(newArray);
ناتج التشغيل [30, 40, 50]

البحث عن عنصر في المصفوفة

قبل أن تستكمل قراءة قم بحل تحدي "البحث في مصفوفة" في درس تحديات المستوى المتوسط أولاً ثم استكمل القراءة هنا.

في تحديات المستوى المتوسط كان هناك تحدي البحث عن عنصر في مصفوفة، ويمكنك بما تعلمت سابقاً أن تكتب دالة بنفسك تقوم بالغرض؛ لكن في كل لغة ستجد دوال مدمجة باللغة (Built-in) تساعدك على إنجاز العمليات على البيانات أسرع وأسهل... من هذه الدوال دالة مخصصة للبحث عن عنصر في مصفوفة!

الدالة indexOf()

تأخذ مُدخل واحد، وهو القيمة التي تريد البحث عنها في المصفوفة... وتقوم بإرجاع:

  • ترتيب العُنصر في المصفوفة (أول عنصر يتم إيجاده)
  • -1 إذا لم تجد العنصر

في البرمجة: القيمة -1 في البحث تعني "غير موجود"

var nums = [10, 20, 30, 40, 50];
console.log( nums.indexOf(20) );
ناتج التشغيل 1

العدّ في البرمجة يبدأ من الصفر، بالتالي 1 يعني العنصر الثاني في المصفوفة.

عكس ترتيب عناصر المصفوفة reverse()

يمكنك أن تعكس ترتيب عناصر المصفوفة باستخدام الدالة reverse()

var nums = [10, 20, 30, 40, 50];
nums.reverse();
console.log(nums);
ناتج التشغيل [50, 40, 30, 20, 10]

ترتيب عناصر المصفوفة sort()

يمكنك ترتيب عناصر المصفوفة باستخدام الدالة sort() وستجد مثيل لها في معظم لغات البرمجة تقريباً، وهناك دوال واستخدامات متقدمة للتصنيف والترتيب ستتعلمها مستقبلاً...

var nums = [2, 5, 4, 3, 1];
nums.sort();
console.log(nums);
ناتج التشغيل [1, 2, 3, 4, 5]

المساهمين

وجدت خطأ أو تريد المساهمة في محتوى الدرس؟ عدل الصفحة على Github