٣.٧ عامل النشر¶
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
استخدامات عامل النشر
-
دمج المصفوفات.
-
إنشاء نسخ سطحية من المصفوفات.
-
تمرير عناصر المصفوفة إلى الدوال الرياضية