"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > إنشاء المصفوفات في جافا سكريبت: دليل شامل

إنشاء المصفوفات في جافا سكريبت: دليل شامل

تم النشر بتاريخ 2024-07-30
تصفح:803

Creating Arrays in JavaScript: A Comprehensive Guide

يعد إنشاء المصفوفات في JavaScript مهمة أساسية، ولكن هناك العديد من الفروق الدقيقة والمشاكل التي قد يتجاهلها حتى المطورون ذوو الخبرة. دعونا نتعمق في الأساسيات ونستكشف بعض الجوانب المثيرة للاهتمام لإنشاء المصفوفة ومعالجتها والتي قد تجدها مفيدة.

إنشاء المصفوفة الأساسية

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

let arr = [];

يمكنك بعد ذلك ملء هذه المصفوفة باستخدام حلقة:

for (let i = 0; i 



يؤدي هذا إلى إنشاء مصفوفة تحتوي على عناصر [0، 1، 2، 3، 4]. ومع ذلك، إذا قمت بإنشاء مصفوفة فارغة دون تعبئتها، فستحصل على مصفوفة لا تحتوي على عناصر ولا فتحات فارغة.

باستخدام منشئ المصفوفة

هناك طريقة أخرى لإنشاء المصفوفات وهي استخدام مُنشئ المصفوفة:

let arr = Array(5);

عند تمرير وسيطة رقمية واحدة، يتم إنشاء مصفوفة متفرقة بالطول المحدد ولكن بدون عناصر فعلية:

console.log(arr.length); // 5
console.log(arr); // [empty × 5]

صفائف متفرقة

تحتوي المصفوفات المتفرقة على "فتحات فارغة"، مما قد يؤدي إلى سلوك غير متوقع عند استخدام طرق مثل الخريطة أو المرشح أو forEach. تتخطى هذه الطرق الخانات الفارغة:

let arr = Array(5);
arr = arr.map((x, i) => i); // Still [empty × 5]

لملء مثل هذا المصفوفة، تحتاج إلى تعيين القيم يدويًا:

arr[0] = 2;
arr[4] = 3;
console.log(arr); // [2, empty × 3, 3]

التعامل مع المصفوفات المتفرقة

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

let arr = Array(5).fill(1);
console.log(arr); // [1, 1, 1, 1, 1]

ولكن كن حذرًا عند التعبئة بالكائنات أو المصفوفات:

let arr = Array(5).fill({});
arr[0].name = 'John';
console.log(arr); // [{name: 'John'}, {name: 'John'}, {name: 'John'}, {name: 'John'}, {name: 'John'}]

يشير كل عنصر إلى نفس الكائن. لتجنب ذلك، استخدم الخريطة:

let arr = Array(5).fill(0).map(() => ({}));
arr[0].name = 'John';
console.log(arr); // [{name: 'John'}, {}, {}, {}, {}]

Array.from الأسلوب

يوفر Array.from طريقة متعددة الاستخدامات لإنشاء مصفوفات من كائنات شبيهة بالمصفوفات أو كائنات قابلة للتكرار:

let arr = Array.from({ length: 5 }, (_, i) => i);
console.log(arr); // [0, 1, 2, 3, 4]

يمكن أن تساعد هذه الطريقة أيضًا عند إنشاء مصفوفات ثنائية الأبعاد:

let arr2D = Array.from({ length: 5 }, () => Array(5).fill(0));
arr2D[0][0] = 1;
console.log(arr2D); // [[1, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

التكرار على المصفوفات

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

  • حلقة for: تعالج كل فهرس، وتتعامل مع الفتحات الفارغة على أنها غير محددة.
  • for...in: يتكرر على مؤشرات المصفوفة، ويتخطى الفتحات الفارغة.
  • for...of: يتكرر على القيم، ويعامل الخانات الفارغة على أنها غير محددة.

خاتمة

يمكن أن يساعدك فهم تعقيدات إنشاء المصفوفة ومعالجتها في JavaScript على تجنب المخاطر الشائعة وكتابة تعليمات برمجية أكثر كفاءة. سواء كنت تستخدم المصفوفات الحرفية، أو منشئ المصفوفة، أو أساليب مثل Array.from وfill، فإن معرفة كيفية عمل هذه الأدوات ستمكنك من التعامل مع المصفوفات بشكل فعال في مشاريعك.

إذا وجدت هذا الدليل مفيدًا، فأخبرني بذلك. أنا دائمًا حريص على إنشاء المزيد من المحتوى الذي يتعمق في تفاصيل JavaScript. شكرًا لك على القراءة، وترميز سعيد!

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/sharoztanveer/creating-arrays-in-javascript-a-comprehensive-guide-8do?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3