Array.prototype.push()‎

من موسوعة حسوب
< JavaScript‏ | Array
مراجعة 15:37، 28 يناير 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

الدالة 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
الدعم الأساسي نعم نعم نعم نعم نعم

مصادر ومواصفات