Files
freeCodeCamp/guide/arabic/javascript/higher-order-functions/index.md
2019-06-20 16:53:53 -05:00

2.0 KiB

title, localeTitle
title localeTitle
Higher Order Functions وظائف من الدرجة العليا

وظائف من الدرجة العليا

دالة الترتيب العليا هي أي دالة تقوم بارجاع دالة عند تنفيذها ، تأخذ وظيفة كواحدة أو أكثر من الوسيطات الخاصة بها ، أو كلاهما. إذا كنت قد استخدمت أيًا من طرق Array مثل map أو filter ، أو قمت بتمرير وظيفة رد اتصال إلى jQuery's $.get ، فهذا $.get أنك قد عملت بالفعل مع وظائف الترتيب العالي.

عندما تستخدم Array.map ، فإنك تقدم دالة كوسيطة واحدة فقط ، والتي ينطبق عليها كل عنصر موجود في الصفيف.

var arr = [ 1, 2, 3 ];

var arrDoubled = arr.map(function(num) {
  return num * 2;
});

console.log(arrDoubled); // [ 2, 4, 6 ]

يمكن لوظائف الترتيب الأعلى أيضًا إرجاع وظيفة. على سبيل المثال ، يمكنك إنشاء دالة تسمى multiplyBy تأخذ رقمًا وتقوم بإرجاع وظيفة تضاعف رقمًا آخر تقدمه من خلال الرقم الأول المقدم. يمكنك استخدام هذا الأسلوب لإنشاء وظيفة multiplyByTwo لتمريرها إلى Array.map . سيعطيك هذا النتيجة نفسها التي رأيتها أعلاه.

function multiplyBy(num1) {
  return function(num2) {
    return num1 * num2;
  }
}

var multiplyByTwo = multiplyBy(2);

var arr = [ 1, 2, 3 ];

var arrDoubled = arr.map(multiplyByTwo);

console.log(arrDoubled); // [ 2, 4, 6 ]

راجع دليل الإغلاق للحصول على مزيد من المعلومات حول كيفية multiplyByTwo num1 للإشارة إلى num1 في المثال أعلاه.

مزيد من المعلومات حول الإغلاق