Array.prototype.push()
الدالة Array.prototype.push() تضيف عنصرًا أو أكثر إلى نهاية مصفوفة وتُعيد عدد عناصر (length) المصفوفة.
var numbers = [1, 2, 3];
numbers.push(4);
console.log(numbers); // [1, 2, 3, 4]
numbers.push(5, 6, 7);
console.log(numbers); // [1, 2, 3, 4, 5, 6, 7]
البنية العامة
arr.push(element1[, ...[, elementN]])
elementN
العناصر التي ستُضاف إلى نهاية المصفوفة.
القيمة المعادة
قيمة الخاصية length الجديدة للمصفوفة التي استدعيت هذه الدالة عليها.
الوصف
الدالة push تُضيف قيمًا إلى نهاية مصفوفة، وهي تعتمد على قيمة الخاصية length لتحديد أين يجب أن تبدأ بإضافة القيم الجديدة، وإذا لم يكن من الممكن تحويل قيمة الخاصية length إلى قيمة رقمية، فسيُعدّ فهرس بدء إضافة القيم هو 0؛ وهذا يتضمن احتمالية عدم وجود الخاصية length، وفي هذه الحالة ستُنشَأ هذه الخاصية.
أمثلة
إضافة عناصر إلى مصفوفة
المثال الآتي يُنشِئ مصفوفةً باسم sports التي تحتوي على عنصرين، ثم سيُضاف عنصران آخران إليها، وسيحتوي المتغير total على الطول الجديد للمصفوفة.
var sports = ['soccer', 'baseball'];
var total = sports.push('football', 'swimming');
console.log(sports); // ['soccer', 'baseball', 'football', 'swimming']
console.log(total); // 4
دمج مصفوفتين
يستخدم المثال الآتي الدالة apply() لإضافة جميع العناصر الموجودة في مصفوفة إلى مصفوفة أخرى.
لا تستخدم هذه الطريقة إذا كانت المصفوفة الثانية (وهي moreVegs في مثالنا هذا) كبيرةً جدًا، ذلك لأنَّ عدد الوسائط التي تقبلها الدالة في JavaScript محدودٌ عمليًا؛ انظر صفحة الدالة apply() لمزيدٍ من التفاصيل.
var vegetables = ['parsnip', 'potato'];
var moreVegs = ['celery', 'beetroot'];
// هذه الطريقة تكافئ استخدام
// vegetables.push('celery', 'beetroot');
Array.prototype.push.apply(vegetables, moreVegs);
console.log(vegetables); // ['parsnip', 'potato', 'celery', 'beetroot']
دعم المتصفحات
| الميزة | Chrome | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| الدعم الأساسي | نعم | نعم | نعم | نعم | نعم |
مصادر ومواصفات
- مسودة المعيار ECMAScript Latest Draft.
- معيار ECMAScript 2015 (6th Edition).
- معيار ECMAScript 5.1.
- معيار ECMAScript 3rd Edition.