En effet, c'est pas à Novice puisque c'est à Troyes !
Version imprimable
heu non c'etait plutot par là
Salut tout le monde,
par plus élégant tu penses à sur une ligne ? ou autre chose ?
Code:
1
2 sentence.split(' ').sort(function(a, b) { return b.length-a.length; })[0]
Code:var biggestWord = sentence.split(" ").reduce(function(prev, cur) { return cur.length > prev.length ? cur : prev});
La solution n'est pas de moi, par contre je n'utilise pas de closure, les deux paramètres de la méthode réduce sont implicite à celle ci et sont bindés à la fonction anonyme passée en paramètre
Une fonction crée TOUJOURS une closure. Que des variables soient utilisées ou pas... De plus, les paramètres sont TOUJOURS des variables :
est transfomé enCode:function (a,b) { ... }
(je ne garde ici de la compil que ce qui m'intéresse, JavaScript étant nettement plus complexe)Code:
1
2
3
4
5 function(JSObject this, Object[] arguments) { var a = arguments[0]; var b = arguments[1]; ... }
Tu te doutes bien que c'est impossible de faire cette énigme sans utiliser de closure comme tu l'entends.
J'entends par closure le méchanisme qui permet à une fonction d'acceder à une variable/propriété qui est déclarée en dehors de son scope, chose qui est infaisable par exemple en Python.
http://www.jibbering.com/faq/faq_notes/closures.html
Citation:
Soit deux Array();
var d = ['John','Marie','Eric','Charly'];
var e = ['Smith','Simpson','Tabarly']
Ecrire une expression qui respecte l'équation suivante :
-> fn(p, q, ...) -> [[p0, q0, ...], [p1, q1, ...], ...];
Tes arrays ne sont pas de même longueur ? c'est un piège volontaire ?
si ou il faut mettre quoi si il n'y a pas de correspondance ?
donc on perd toutes les autres données ?
Bingo :D
oui bon ben c'est fait .. je vous laisse plancher ...