۱۵ اردیبهشت ۱۴۰۱

آداپتور flip و reverse و spreadArgs

آداپتور flip

جای دو ورودی اول تابع مورد نظر را عوض می‌کند.

function flip(fn) {
	return function flipped(arg1,arg2,...args){
		return fn(arg2,arg1,...args);
	}
}

function f(...args) {
	return args;
}

let g = flip(f);

g(1,2,3,4);		// [2,1,3,4]

آداپتور reverse

ترتیب ورودی‌های تابع مورد نظر را برعکس می‌کند.

function reverseArgs(fn) {
	return function reversed(...args){
		return fn(...args.reverse());
	}
}

function f(...args) {
	return args;
}

let g = reverseArgs(f);

g(1,2,3,4);		// [4,3,2,1]

آداپتور spread

ورودی‌های تابع مورد نظر را تبدیل به یک لیست می‌کند.

function spreadArgs(fn) {
	return function spread(args){
		return fn(...args);
	}
}

function f(x,y,z,w) {
	return x + y + z + w;
}

let g = spreadArgs(f);

g([1,2,3,4]);		// 10

آداپتور 

ورودی‌های تابع مورد نظر را تبدیل به یک لیست می‌کند.

فهرست مطالب `Functional Programming`

نظرات خوانندگان این نوشته

تا به حال نظری ثبت نشد!

نظری در این مورد دارید؟ خوشحال می‌شم اون رو برام ارسال کنید.

captcha