Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

استخدام الـ Spread Syntax في الـ Arrays

جزء من قسم Logic & Flow في رحلة JavaScript على Coddy — الدرس 48 من 65.

تسمح صيغة النشر (...) للكائنات القابلة للتكرار (iterable)، مثل المصفوفة (array)، بأن يتم توسيعها في الأماكن التي يُتوقع فيها وجود وسيطة (argument) واحدة أو أكثر أو عنصر واحد أو أكثر. وهي توفر طريقة مختصرة لإجراء عمليات مثل دمج المصفوفات أو نسخها.

فيما يلي بعض حالات الاستخدام الشائعة:

1. دمج المصفوفات:

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combined = [...arr1, ...arr2];
console.log(combined); // [1, 2, 3, 4, 5, 6]

2. إنشاء نسخة ضحلة (shallow copy) من مصفوفة:

const original = [1, 2, 3];
const copy = [...original];
console.log(copy); // [1, 2, 3]

3. إضافة عناصر إلى مصفوفة:

const numbers = [1, 2, 3];
const moreNumbers = [0, ...numbers, 4];
console.log(moreNumbers); // [0, 1, 2, 3, 4]

4. تمرير عناصر المصفوفة كوسيطات للدالة:

function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
console.log(sum(...numbers)); // 6
challenge icon

التحدي

سهل

أنشئ دالة تسمى mergeArr تأخذ مصفوفتين من الأرقام كوسطاء. يجب أن تقوم الدالة بما يلي:

  1. دمج المصفوفتين باستخدام عامل النشر (spread operator)
  2. إزالة أي أرقام مكررة
  3. إرجاع المصفوفة الناتجة

ورقة مرجعية

تسمح صيغة النشر (...) بتوسيع الكائنات القابلة للتكرار (iterable) في الأماكن التي يُتوقع فيها وجود وسيط واحد أو أكثر أو عناصر.

دمج المصفوفات:

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const combined = [...arr1, ...arr2];
console.log(combined); // [1, 2, 3, 4, 5, 6]

إنشاء نسخة ضحلة (shallow copy):

const original = [1, 2, 3];
const copy = [...original];
console.log(copy); // [1, 2, 3]

إضافة عناصر إلى مصفوفة:

const numbers = [1, 2, 3];
const moreNumbers = [0, ...numbers, 4];
console.log(moreNumbers); // [0, 1, 2, 3, 4]

تمرير عناصر المصفوفة كوسائط للدالة:

function sum(a, b, c) {
  return a + b + c;
}
const numbers = [1, 2, 3];
console.log(sum(...numbers)); // 6

جرّب بنفسك

function mergeArr(arr1, arr2) {
  // اكتب الكود الخاص بك هنا
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Logic & Flow