يعد إنشاء المصفوفات في 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]]التكرار على المصفوفات
توفر جافا سكريبت عدة طرق للتكرار على المصفوفات، حيث تتعامل كل منها مع المصفوفات المتفرقة بشكل مختلف:
يمكن أن يساعدك فهم تعقيدات إنشاء المصفوفة ومعالجتها في JavaScript على تجنب المخاطر الشائعة وكتابة تعليمات برمجية أكثر كفاءة. سواء كنت تستخدم المصفوفات الحرفية، أو منشئ المصفوفة، أو أساليب مثل Array.from وfill، فإن معرفة كيفية عمل هذه الأدوات ستمكنك من التعامل مع المصفوفات بشكل فعال في مشاريعك.
إذا وجدت هذا الدليل مفيدًا، فأخبرني بذلك. أنا دائمًا حريص على إنشاء المزيد من المحتوى الذي يتعمق في تفاصيل JavaScript. شكرًا لك على القراءة، وترميز سعيد!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3