آداپتور 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 »

Berneti