انتقل إلى المحتوى

٣.٧ عامل النشر

Concat()

التمرين 1: أنشئ مصفوفة بالأعداد من 1 إلى 4.

var arr1 = [1, 2, 3, 4];

console.log(arr1);

النتيجة هي: (4) [1, 2, 3, 4]

التمرين 2: أنشئ أخرى بالأعداد من 5 إلى 10.

var arr2 = [5, 6, 7, 8, 9, 10];

console.log(arr2);

النتيجة هي: (6) [5, 6, 7, 8, 9, 10]

التمرين 3: أضف مصفوفة التمرين 2 إلى التمرين 1 .

var arr1 = [1, 2, 3, 4];
var arr2 = [5, 6, 7, 8, 9, 10];

arr1.push(arr2);

console.log(arr1);

النتيجة هي: (5) [1, 2, 3, 4, Array(6)]

هذه ليست النتيجة المطلوبة؛ نريد: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

التمرين 4: تأمّل الشيفرة وافهم النتيجة.

var arr1 = [1, 2, 3, 4];
var arr2 = [5, 6, 7, 8, 9, 10];

arr1 =  arr1.concat(arr2);

console.log(arr1);

النتيجة هي: (10) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

concat()

concat() طريقة تدمج مصفوفتين أو أكثر.

التمرين 5: ادمج المصفوفات التالية باستخدام concat().

var students1 = ["Ali", "Ola"];
var students2 = ["Sami", "Sanad", "Jojo"];

students1 = students1.concat(students2);

console.log(students1);

النتيجة هي: (5) ["Ali", "Ola", "Sami", "Sanad", "Jojo"]

التمرين 6: ادمج المصفوفات التالية باستخدام concat().

var salaries1 = [100, 500, 2000];
var salaries2 = [2000, 4000, 700];

salaries1 = salaries1.concat(salaries2);

console.log(salaries1);

النتيجة هي: (6) [100, 500, 2000, 2000, 4000, 700]

عامل النشر (Spread)

التمرين 7: تأمّل الشيفرة التالية وقارنها مع التمرين 6.

var salaries1 = [100, 500, 2000];
var salaries2 = [2000, 4000, 700];

salaries1 = [...salaries1, ...salaries2];

console.log(salaries1);

النتيجة هي: (6) [100, 500, 2000, 2000, 4000, 700]

التمرين 8: تأمّل الشيفرة التالية وقارنها مع التمرين 5.

var students1 = ["Ali", "Ola"];
var students2 = ["Sami", "Sanad", "Jojo"];

students1 = [...students1, ...students2];

console.log(students1);

النتيجة هي: (5) ["Ali", "Ola", "Sami", "Sanad", "Jojo"]

عامل النشر ...

عامل النشر ... يفكّ عناصر المصفوفة إلى قيم منفردة.

التمرين 9: أضف arr2 و arr3 إلى arr1 باستخدام عامل النشر.

var arr1 = ["a", "b", "c", "d"];
var arr2 = ["e", "f", "g"];
var arr3 = ["I"];

arr1 = [...arr1, ...arr2, ...arr3];

console.log(arr1);

النتيجة هي: (8) ["a", "b", "c", "d", "e", "f", "g", "I"]

التمرين 10: أنشئ نسخة من arr1وخزّنها في arr2باستخدام عامل النشر.

var arr1 = [10, 20, 30, 40, 50];
var arr2 = [...arr1];

console.log(arr2);

النتيجة هي: (5) [10, 20, 30, 40, 50]

التمرين 11: أنشئ نسخة من salariesوخزّنها في salariesCopyباستخدام عامل النشر.

var salaries = [500, 600, 800, 700];
var salariesCopy = [...salaries];

console.log(salariesCopy);

النتيجة هي: (4) [500, 600, 800, 700]

التمرين 12: اقرأ الشيفرة التالية وافهم النتيجة.

var numbers = [5, 7, 99, 10, 0, 17];
var minValue = Math.min(...numbers);

console.log(minValue);

النتيجة هي: 0

Math.min()

Math.min() تُرجع أصغر قيمة من القيم المُمرّرة إليها.

التمرين 13: اقرأ الشيفرة التالية وافهم النتيجة.

var numbers = [5, 7, 99, 10, 0, 17];
var maxValue = Math.max(...numbers);

console.log(maxValue);

النتيجة هي: 99

Math.max()

Math.max() تُرجع أكبر قيمة من القيم المُمرّرة إليها.

التمرين 14: احذف القيم الأصغر من أو المساوية لـ30، ثم اضرب البقية في 2. أوجد أكبر قيمة وأصغر قيمة في الناتج، ثم متوسط هاتين القيمتين. (min + max) / 2.

var myArray = [5, 10, 60, 7, 8, 80, 100, 8, 9, 10, 20, 30, 40];

var newArray = myArray.filter(value=>value > 30).map(val=>val*2);
var minValue = Math.min(...newArray);
var maxValue = Math.max(...newArray);
var result = (minValue + maxValue) / 2;

console.log(result);

النتيجة هي: 140

التمرين 15: أضف 5 إلى كل عنصر، ثم أوجد أكبر قيمة في الناتج.

var arr = [7, 9, 0, 50, 8];

var maxValue = Math.max(...arr.map(value=>value+5));

console.log(maxValue);

النتيجة هي: 55

التمرين 16: إذا كانت جميع العناصر أقل من 5، فأوجد أصغر قيمة؛ وإلا فأوجد أكبر قيمة.

var arr = [3, 4, 2, 0, 1];

var result = arr.every(value => value < 5) ? Math.min(...arr) : Math.max(...arr);

console.log(result);

النتيجة هي: 0

التمرين 17: أعد تنفيذ التمرين 16 للمصفوفة التالية.

var arr = [35, 40, 20, 80, 70];

var result = arr.every(value => value < 5) ? Math.min(...arr) : Math.max(...arr);

console.log(result);

النتيجة هي: 80

التمرين 18: إذا وُجدت عناصر سالبة، فاعرض عناصر المصفوفة. تلميح: استخدم عامل النشر.

var arr = [-1, 8, -4, 0, 5];

if(arr.some(value=>value<0)){
  console.log(...arr)
};

النتيجة هي: -1 8 -4 0 5

التمرين 19: ادمج المصفوفتين التاليتين وأوجد متوسط القيم.

var arr1 = [1, 5, 9, 10, 7];
var arr2 = [8, 7, 10, 14, 11, 15];

var result = ([...arr1, ...arr2].reduce((sum, value) => sum + value)) / (arr1.length + arr2.length);

console.log(result);

النتيجة هي: 8.818181818181818

استخدامات عامل النشر

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

  2. إنشاء نسخ سطحية من المصفوفات.

  3. تمرير عناصر المصفوفة إلى الدوال الرياضية