11544 sujets
Normalement ce serait au gagnant d'en proposer une autre...
Mais bon puisque personne ne réagit, je propose les miennes :
1 - Facile : Écrire une fonction qui soit le plus court/efficace et qui convertit 3 nombres R, V, B en code couleur #xxxxxx
2 - Facile : Éccrire une fonction qui soit le plus court/efficace qui met le nom des balises en minuscules.
3 - Moyen : même que 2 mais interdiction d'utiliser les regex.
4 - Difficile : En une seule instruction (ligne) sans point-virgule, extraire les paramètres GET de l'URL et les stocker dans des variables globales.
Modifié par QuentinC (24 Oct 2007 - 10:25)
Mais bon puisque personne ne réagit, je propose les miennes :
1 - Facile : Écrire une fonction qui soit le plus court/efficace et qui convertit 3 nombres R, V, B en code couleur #xxxxxx
2 - Facile : Éccrire une fonction qui soit le plus court/efficace qui met le nom des balises en minuscules.
3 - Moyen : même que 2 mais interdiction d'utiliser les regex.
4 - Difficile : En une seule instruction (ligne) sans point-virgule, extraire les paramètres GET de l'URL et les stocker dans des variables globales.
Modifié par QuentinC (24 Oct 2007 - 10:25)
QuentinC a écrit :
Normalement ce serait au gagnant d'en proposer une autre...
Mais bon puisque personne ne réagit, je propose les miennes :
1 - Facile : Écrire une fonction qui soit le plus court/efficace et qui convertit 3 nombres R, V, B en code couleur #xxxxxx
2 - Facile : Éccrire une fonction qui soit le plus court/efficace qui met le nom des balises en minuscules.
3 - Moyen : même que 2 mais interdiction d'utiliser les regex.
4 - Difficile : En une seule instruction (ligne) sans point-virgule, extraire les paramètres GET de l'URL et les stocker dans des variables globales.
Je prend dans l'ordre, n'hésitez pas à en proposer, surtout toi aussi Julien

(Je peux jouer?

QuentinC a écrit :
4 - Difficile : En une seule instruction (ligne) sans point-virgule, extraire les paramètres GET de l'URL et les stocker dans des variables globales.
Qu'est ce que t'entends par stocker dans des variables globales?
J'aurais plus prescrit d'en faire une hashmap de clés/valeurs, ce qui me parait plus propre

a écrit :
Qu'est ce que t'entends par stocker dans des variables globales?
Ben... window['mavar'] == mavar... enfin je ne vois pas comment définir global
a écrit :
J'aurais plus prescrit d'en faire une hashmap de clés/valeurs, ce qui me parait plus propre
Plus propre effectivement... tu peux tenter le coup si tu veux, mais là je n'ai aucune idée de comment faire.
pour la 2 ou 3 (de toute façon avec les regex j'ai jamais réussi à faire la difference entre un noeud text et une balise) pour un petit éditeur wysiwyg j'avais codé cette fonction bizarre (qui m'a jamais servie, heureusement...) :
moins élegant c'est dur, mais que ce soit classé "facile" c'est déprimant...
Modifié par matmat (30 Oct 2007 - 17:46)
function tagLowerCase(node) {
var children = node.childNodes;
var child_length = children.length;
for (I=0;I<child_length;I++) {
var child = children[I];
switch (child.nodeType) {
case 1: {
var tag_name = String(child.tagName).toLowerCase();
text += '\n<'+tag_name;
if (child.canHaveChildren || child.hasChildNodes()){
text += '>';
text += get_xhtml(child);
text += '</'+tag_name+'>\n';
}else{
text += ' />';
}
break;
}
case 3: {
text += child.nodeValue;
break;
}
default:
break;
}
}
return text;
}
moins élegant c'est dur, mais que ce soit classé "facile" c'est déprimant...
Modifié par matmat (30 Oct 2007 - 17:46)
bonsoir ,
Les vacances çà a du bon : on a le temps de 'plncher' sur vos énigmes ...
Concernant la question 3 je verrais bien un petit récursif :
... ???
Modifié par kzone (31 Oct 2007 - 02:10)
Les vacances çà a du bon : on a le temps de 'plncher' sur vos énigmes ...

Concernant la question 3 je verrais bien un petit récursif :
function Lower(n){
[#indigo]//si de type element[/#]
if(n.nodeType == 1)
{
[#indigo]// mise en minuscule[/#]
n.nodeName.toLowerCase();
var enfant = n.childNodes;
[#indigo]//on parcout la node liste[/#]
for(var j = 0; j < enfant.length; j++) {
[#indigo] // on relance la fonction pour chaque enfant ...[/#]
Lower(enfant[j]);
}
}
}
... ???
Modifié par kzone (31 Oct 2007 - 02:10)