Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème d'Array

Sujet résolu
    15 janvier 2011 à 21:37:58

    Bonjour,

    Dans un de mes script Greasemonkey, je stock des données dans un Array. Cela me permet de traduire et d'assembler au fur et à mesures que mon script reçois des données en donnée compatible avec la page sur laquelle est appliqué le script GM.
    A chaque nouvelle id je crée une nouvelle ligne dans l'Array. Cependant je rencontre un léger problème. Pour un certain id (le 29, je ne sais pas si c'est important) la ligne ne se crée pas et je me retrouve avec une valeur undefined. Voici à quoi ressemble la partie concerné:

    function trad(i,infos1,infos2){
    	var infos = "="+infos1+"i"+infos2;
    	if (infvol[i] === undefined){ 
    		infvol.push(infos);
    	} else {
    		infvol[i] += infos;
    	}
    }
    

    Vous pouvez voir le script complet ici si vous voulez:
    http://userscripts.org/scripts/review/94522

    Donc concernant la partie que je vous ai montré, j'aimerais bien comprendre pourquoi une ligne se retrouve undefined. J'ai déjà débugé le code en utilisant la fonction GM_log mais je ne vois pas d'où vient le problème. Tout a l'air de s'exécuter comme les autres lignes qui elles sont bien remplies.

    Merci !

    EDIT:
    J'ai essayé de modifier le test de la ligne en utilisant typeof, mais c'est pareille.
    Enfaite le problème viendrai surtout du test de la ligne mais là je ne vois vraiment pas.
    • Partager sur Facebook
    • Partager sur Twitter
      16 janvier 2011 à 0:30:01

      Pour savoir le type d'une valeur, il faut bel et bien utiliser typeof :
      if(typeof maVar === 'undefined')...

      Donc tu dois bien rajouter typeof, mais aussi des guillemets sur undefined, car tu compare une chaîne de caractère :
      var maVar = 'blabla';
      alert(typeof maVar); // donne : 'string'

      Sinon si ça viens pas de la, infos lui même vaut toujours une bonne valeur ?
      • Partager sur Facebook
      • Partager sur Twitter
        16 janvier 2011 à 9:07:18

        Non cela ne vient pas de là j'ai essayé plusieurs écritures différentes mais cela ne fonctionne pas.

        Concernant infos, il arrive en effet que certains id soient justement undefined.

        EDIT: en créant une nouvelle ligne à chaque nouvelle même si il n'y a pas d'infos, cela corrige le problème.
        • Partager sur Facebook
        • Partager sur Twitter

        Problème d'Array

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown