كل طرق مصفوفات JavaScript الشائعة، مجمّعة حسب السلوك: هل تُعدِّل المصفوفة، وماذا تُرجع، ومتى تستخدمها. مرجع سريع للطرق التي تستخدمها كل يوم.
طرق المصفوفات نوعان. الطرق المُعدِّلة تُغيِّر المصفوفة التي تُنادى عليها، بينما الطرق غير المُعدِّلة تُرجع مصفوفة جديدة وتترك الأصل كما هو. عندما تستطيع، فضِّل الطرق غير المُعدِّلة: فهي تتجنّب الآثار الجانبية المفاجئة وتسلسل بشكل نظيف. إن map وfilter وreduce هي أدوات العمل التي ستلجأ إليها كل يوم. تحوِّل map كل عنصر، ويحتفظ filter بالعناصر التي تريدها، ويطوي reduce المصفوفة كلها إلى قيمة واحدة.
جدول مرجعي · 40 إدخالات
طرق مصفوفات JavaScriptExplained
40 of 40 rows
مُعدِّلة
نعم
طول جديد
تضيف عنصرًا أو أكثر إلى نهاية المصفوفة.
نعم
قيمة | undefined
تحذف العنصر الأخير وتُرجعه.
نعم
قيمة | undefined
تحذف العنصر الأول وتُرجعه.
نعم
طول جديد
تضيف عنصرًا أو أكثر إلى بداية المصفوفة.
نعم
مصفوفة العناصر المحذوفة
تُدرج عناصر أو تحذفها أو تستبدلها بدءًا من فهرس معيّن.
نعم
نفس المصفوفة، مرتَّبة
تُعيد ترتيب العناصر في المكان؛ بدون دالة مقارنة تُقارن العناصر كسلاسل نصية.
نعم
نفس المصفوفة، معكوسة
تعكس ترتيب العناصر في المكان.
نعم
نفس المصفوفة
تستبدل نطاقًا من المواضع بقيمة واحدة.
نعم
نفس المصفوفة
تنسخ مجموعة عناصر متتالية إلى موضع آخر داخل المصفوفة نفسها.
تكرار / تحويل
لا
مصفوفة جديدة
تحوِّل كل عنصر إلى شيء جديد.
لا
مصفوفة جديدة
تحتفظ فقط بالعناصر التي تجتاز اختبارًا.
لا
قيمة تراكمية
تطوي كل العناصر إلى قيمة واحدة.
لا
قيمة تراكمية
تطوي كل العناصر إلى قيمة واحدة، بدءًا من العنصر الأخير.
لا
undefined
تنفّذ أثرًا جانبيًا لكل عنصر.
لا
قيمة | undefined
تعيد أول عنصر يجتاز اختبارًا.
لا
فهرس أو -1
تعيد فهرس أول عنصر يجتاز اختبارًا.
لا
قيمة | undefined
تعيد آخر عنصر يجتاز اختبارًا.
لا
فهرس أو -1
تعيد فهرس آخر عنصر يجتاز اختبارًا.
لا
قيمة منطقية
تتحقق إن كان عنصر واحد على الأقل يجتاز اختبارًا.
لا
قيمة منطقية
تتحقق إن كانت كل العناصر تجتاز اختبارًا.
لا
مصفوفة جديدة
تسطّح المصفوفات المتداخلة حتى عمق معيّن؛ مرِّر Infinity لتسطيح كل المستويات.
لا
مُكرِّر [فهرس، قيمة]
تتكرر على أزواج الفهرس والقيمة.
لا
مُكرِّر للفهارس
تتكرر على الفهارس فقط.
لا
مُكرِّر للقيم
تتكرر على القيم فقط.
وصول / غير مُعدِّلة
لا
مصفوفة جديدة
تنسخ جزءًا من المصفوفة إلى مصفوفة جديدة.
لا
مصفوفة جديدة
تدمج مصفوفتين أو أكثر في واحدة.
لا
قيمة منطقية
تتحقق إن كانت قيمة موجودة في المصفوفة.
لا
فهرس أو -1
تجد الفهرس الأول لقيمة.
لا
فهرس أو -1
تجد الفهرس الأخير لقيمة.
لا
سلسلة نصية
تلصق كل العناصر في سلسلة نصية واحدة بفاصل.
لا
قيمة | undefined
تقرأ عنصرًا بفهرسه، حيث يَعُدّ الفهرس السالب من النهاية.
أحدث
لا
مصفوفة جديدة
تحوِّل كل عنصر وتسطّح النتيجة مستوى واحدًا في مرور واحد.
لا
مصفوفة جديدة
تعيد نسخة مع استبدال فهرس واحد.
لا
مصفوفة جديدة، مرتَّبة
ترتّب نسخة وتترك المصفوفة الأصلية سليمة.
لا
مصفوفة جديدة، معكوسة
تعكس نسخة وتترك المصفوفة الأصلية سليمة.
لا
مصفوفة جديدة
تطبّق splice على نسخة وتترك المصفوفة الأصلية سليمة.
ثابتة
لا
مصفوفة جديدة
تبني مصفوفة من كائن قابل للتكرار أو شبيه بالمصفوفات.