المقال الاصلي بكتابة Madison Kanna

تمت الترجمة بواسطة Mohamed Hany Youns

عند استخدامك للغة الجافا سكريبت (JavaScript)، بعض الاحيان تحتاج الى معرفة هل مصفوفة (array) ما خالية ام لا.

للتحقق من ان مصفوفة ما خالية ام لا، يمكن استخدام خاصية متوفرة مسبقا فى الجافا سكريبت.

خاصية طول المصفوفة "length" ترجع لنا عدد العناصر الموجودة فى المصفوفة. وذلك بمعرفة عدد العناصر الموجودة فى المصفوفة، وبالطبع المصفوفة الخالية ترجع لنا 0.

والان لنجرب بعض الامثلة لتوضيح الفكرة.

مثال علي استخدام length.

Const myArray = [‘Horses’, ‘Dogs’, ‘Cats’];

قمنا هنا، بإنشاء مصفوفة تحتوى على ثلاث عناصر.

بأستخدام خاصية الطول "length"، يمكننا التحقق من طول المصفوفة:

myArray.length

بالطبع سوف ترجع لنا الخاصية 3، لان المصفوفة تحتوى على 3 عناصر فقط.

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

الطريقة الاولى

اولا، لنقم بإنشاء مصفوفة جديدة خالية تماما من العناصر.

const arr = []

يمكن التحقق من خلو المصفوفة بأستخدام خاصية length

arr.length

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

الطريقة الثانية

يمكننا أيضًا التحقق بشكل صريح مما إذا كانت المصفوفة فارغة أم لا.، بأستخدام الكود التالي:

if (arr.length === 0) { console.log("Array is empty!") }

اذا كانت المصفوفة خالية فعلا، سوف تظهر الرسالة السابقة. اما اذا كانت المصفوفة تحتوى على عناصر بداخلها، الكود بداخل if الشرطية لن يتم تنفيذه.

يوجد طريقة ثالثة للتحقق من خلو المصفوفة من العناصر بأستخدام خاصية الطول length.

الطريقة الثالثة

يمكن دمج خاصية الطول "length" و معامل النفي " not operator" المنطقي "logical" فى لغة الجافا سكريبت، والذى يرمز له بــ "!"، لتحقق من خلو المصفوفة او العكس.

معامل النفي ! يقوم بنفي تعبير/عبارة برمجي(ة) "expression". وبالتالي يمكن إرجاع "return" قيمة صحيحة true اذا كانت المصفوفة فارغة.

على سبيل المثال، دعنا نقوم بفتح لوحة اوامر "console" الجافا سكريبت فى متصفح الانترنت. لفتح لوحة الاوامر فى متصفحك وليكن على سبيل المثال كروم (chrome)، توجه الى الفاحص "Inpsect" ثم لوحة الاوامر "console".

الفاحص "Inpsect" => لوحة الاوامر "console"

اولا، لنقم بإنشاء مصفوفة فارغة، لا تحتوى علي اى عناصر بداخلها.

image

ثم، لنستحدم معامل النفى المنطقي "not"، بالاضافة لخاصية الطول "length."، للتحقق من خلو المصفوفة من العناصر او العكس.

Screen-Shot-2020-09-30-at-5.29.35-PM

اذا لم نستخدم معامل النفى "not"، الكود arr.length سوف يرجع 0 فقط بدونه. لكن عند اضافة المعامل "!"، سوف يرجع لنا قيمة true لان قيمة المعامل الاصلية هى false. وبالتالى يمكن استنتاج ان قيمة الكود arr.length هى 0 اى انه منطقيا يساوى false و بالتالى عندى استخدام معامل النفي ! ستكون النتيجة النهائية هى true.

الان دعنا نستخدم جملة if الشرطية، ونقوم بطباعة رسالة اذا كانت المصفوفة خالية.

image-2

عند التحقق من خلو المصفوفة، او العكس، فمن المفضل التحقق اذا كان المتغير فعلا مصفوفة ام لا.

لماذا؟

لان من الممكن ان نكون على اقتناع تمام بأن المتغير هو بالفعل مصفوفة وتملك طول "length"، لكن بدلا من ذلك يكون نوع المتغير سلسة نصية "string":

image-7

ولان يمكن استخدام خاصية الطول length property فى انواع بيانات "data types" اخري، فمن المستحسن التحقق من ان نوع البيانات فعلا مصفوفة وليس شئ اخر.

توفر الجافا سكريبت دالة "method" للتأكد من ان نوع البيانات بالفعل مصفوفة. حيث ترجع هذه الدالة Array.isArray() قيمة true عند تمرير مصفوفة لها، و ترجع قيمة false عند تمرير شئ اخر.

دعنا الان نضيف هذه الدالة للمثال السابق.

كيفية استخدام الدالة Array.isArray()

image-3

خاتمة

فى هذا المقال، تعلمنا كيفية استخدام خاصية الطول .length فى الجافا سكريبت فى امثلة متعددة للتحقق من خلو المصفوفة. خاصية الطول .length ترجع عدد عناصر المصفوفة.

تعلمنا ايضا انه من المفضل استخدام دالة Array.isArray() عند استخدام خاصية الطول .length، للتحقق مما اذا كان نوع البيانات بالفعل مصفوفة ام لا.