J'essaie d'apprendre à utiliser les foncteurs applicatifs en javascript et suis tombé sur la méthode ap
. Je suis en train de l'utiliser pour combiner trois tableaux comme ceci:Quel est mon foncteur applicatif ne fonctionnant pas avec l'ap de Ramda?
const products = ['teeshirt', 'sweater']
const options = ['large', 'medium', 'small']
const colors = ['red', 'black']
Alors que par le documentation Je suis d'essayer ceci:
const buildMerch = product => option => color =>`${product}-${option}-${color}`
const merchandise = R.ap([buildMerch], [products, options, colors])
Mais cela me redonne trois fonctions:
[function (option) {
return function (color) {
return product + '-' + option + '-' + color;
};
}, function (option) {
return function (color) {
return product + '-' + option + '-' + color;
};
}, function (option) {
return function (color) {
return product + '-' + option + '-' + color;
};
}]
... au lieu du résultat combiné des tableaux que j'attends:
["teeshirt- large-red", "teeshirt- large-black", "teeshirt- medium-red", "teeshirt- medium-black", "teeshirt- small-red", "teeshirt- small-black", "sweater- large-red", "sweater- large-black", "sweater- medium-red", "sweater- medium-black", "sweater- small-red", "sweater- small-black"]
Qu'est-ce que je fais mal? Comment puis-je réparer ça?
Voici un jsbin la question: https://jsbin.com/fohuriy/14/edit?js,console
bonne explication, je vous remercie! –