11521 sujets

JavaScript, DOM et API Web HTML5

J'ai une suite discontinue de variables.
Pour l'instant, j'ai déclaré chaque partie de suite continue puis la fonction que je répète à chaque fois.
Bon, ça marche mais n'y-a-t-il pas une manière plus élégante de déclarer ça?

for(var i = 65; i <= 89; i++) {...}

for(var i = 97; i <= 121; i++) {...}

for(var i = 192; i <= 214; i++) {...}


C'est le début de la semaine, courage à tous!
Bonjour,

L'autre solution que je vois serait de ne faire qu'une boucle for (de 65 à 214), et de coller trois if dedans.
Après, est-ce plus élégant... ?
On peut savoir que quoi il retourne? La suite des nombres ressemble furieusement aux codes de caractères ASCII, il peut exister des solutions plus appropriées pour traiter ce problème.
#SolidSnake
j'y connais pas grand chose en javascript.
J'arrive à bidouiller si on me donne des exemples mais je ne sais pas mettre en action "if".
Un petit bout de code me serait sacrément utile... Smiley cligne


#PapyJP
Oui, ce sont bien les codes de caractères ASCII.
Pour expliquer ce que je suis en train de faire...
Je suis en train de preparer un petit jeu de composition de couleur aléatoire. (juste pour moi)
J'ai déjà bien avancé grâce à ce super forum (cf "[Résolu] Appel d'image dans la page et positionnement aléatoire?").
J'avais commencé avec une vingtaine d'image.
Maintenant j'augmente le nombre de ces images et je cherche comment alléger mon code.

à voir ici
http://cucaracha.fr/composition-lettres/index.html
Modérateur
Salut,

youkiwouf a écrit :
j'y connais pas grand chose en javascript.
J'arrive à bidouiller si on me donne des exemples mais je ne sais pas mettre en action "if".
Un petit bout de code me serait sacrément utile...


Ca devrait ressemble à un truc comme ça :
for(var i = 65; i <= 214; i++) {
	if( i <= 89 || (i >= 97 &&  i <= 121) || i >= 192) {
  	console.log(i);
  }
}


Le for parcours tout les nombres de 65 à 214 et dans le if n'est éxécuté le code que pour le i compris entre [65 (le début) et 89] ou [97 et 121] ou [192 et 214 (la fin)]
Une autre idée :

myFunction(65, 89);
myFunction(97, 121);
myFunction(192, 214);

function myFunction(from, to)
{
	for(var i = from; i <= to; i++) {
	}
}

Modifié par JENCAL (14 Mar 2017 - 17:26)
Meilleure solution
La proposition de Laurent fonctionne à moitié; toutes les puces sont encore présentes dans le tableau, même celles qui ne renvoie à aucun lien.

La solution de Jencal fonctionne aux petits oignons!

Merci à tous les deux Smiley cligne