Справочная информация: я хочу отобразить массив массивов параметров через чистый fn, который принимает несколько параметров.Я думал, что curry apply с нулевым значением, и вызов Array.map()
сработает.
[[x1, y1], [x2, y2], [x3, y3], ... [xn, yn]].map(curry(fn.apply, null))
var curry = function(fn, value) {
return function (x, y) {
return fn(value, x, y);
};
}
var fn = (x,y) => [x, y];
var fn_c = curry(fn.apply, null)
fn_c([1,2]);
Uncaught TypeError: Function.prototype.apply was called on undefined, which is a undefined and not a function
at <anonymous>:3:20
at <anonymous>:8:5
В функции карри запоминается только apply
, без которого fn
, из которого следует применить apply.Таким образом, функция curry пытается запустить apply(x,y)
вместо fn.apply(x,y)
, что, конечно, не удается.
Как я могу получить функцию apply-ed для передачи?