Attualmente sto imparando la programmazione funzionale usando Underscore.js. Quello che voglio fare è aggiungere due coordinate insieme. Sia P1 = (0, 0) e P2 = (1, 1). Pertanto, P1 + P2 = (1, 1)
Ho una soluzione, ma sembra così complicata che sono sicuro di fare qualcosa di sbagliato:
// Base 2D Cartesian Point
var Point = function(x, y) {
this.x = x;
this.y = y;
}
Point.prototype.add = function(delta) {
return _.object(_.keys(this),
_.map(
_.zip(
_.values(this),
_.values(delta)),
function(point) {
return _.reduce(point,
function(memo, num) { return memo + num; }, 0);
}
)
);
}
Questa è l'implementazione corretta della funzione di aggiunta per i punti che utilizza Underscore.js o esiste una soluzione migliore?