Nombre d'arguments variable

Fermé
kev85270 Messages postés 436 Date d'inscription dimanche 5 août 2007 Statut Membre Dernière intervention 17 janvier 2014 - 24 oct. 2013 à 18:12
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 - 26 oct. 2013 à 15:28
Bonjour,

Bonjour à tous,
J'ai un tp à faire dans le cadre de mes études en informatique.
Ci dessous, le code JavaScript.
J'ai implementer la function sub() sans trop de soucis, en revanche je doit modifier la fonction adder afin qu'elle acceptee un nombre variable d'argument tel que :



adder()(0); // 0
adder()(1); // 0
adder(mult(2))(1); // 2
adder(mult(2), mult(2))(1); // 4
adder(mult(2), mult(2), mult(2))(1); // 6
adder(mult(2), sub(2), mult(2))(1); // 5

Mon professeur m'indique d'utiliser :

var args = Array.prototype.slice.call(arguments);
[1,2,3].forEach(function(val){console.log(val);});

Mais je ne comprend pas trop.




function adder(l,r){
return function(v){
return l(v) + r(v);
}
}

function mult(v){
return function(e){
return v*e;
}
}
function sub(x,y)
{
return x-y;
}
console.log(adder(mult(2), mult(4))(2));
console.log(sub(0,0));
console.log(sub(2,1));
console.log(sub(2,2));
console.log(sub(2,4));

Pouvez vous m'aider s'il vous plait ?
Merci d'avance.

A voir également:

2 réponses

prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
26 oct. 2013 à 15:06
Voici un joli article pour toi: http://blog.sebarmeli.com/2010/11/12/understanding-array-prototype-slice-applyarguments/
0
prosthetiks Messages postés 1189 Date d'inscription dimanche 7 octobre 2007 Statut Membre Dernière intervention 12 juin 2020 431
26 oct. 2013 à 15:28
Et appliqué à la fonction adder ça donne:


function adder(){
var args = Array.prototype.slice.call(arguments);
return (function(i){
var result = 0;
for(arg in args){
result += args[arg](i);
}
return result;
});
}

0