Partage
  • Partager sur Facebook
  • Partager sur Twitter

Logique

    24 octobre 2016 à 18:54:09

    Bonjour à tous :) 

    Nous sommes en introduction de Javascript en cours, l'intervenant nous a donné des exercices de logiques. Voici la consigne : 

    "Un tableau de nombres dont il faut doubler la valeur (ex. [1, 5, 7] -> [2, 10, 14])"

    Et voici mon code : 

    var x = [12, 2, 3, 20];
            
            var i = 0;
            
            var result = 0;
            
            for (i = 0; i <= x; i++) {
                var result = x[i] * 2;
            }
            console.log(result);

    Merci de votre aide, je sèche vraiment là !

    • Partager sur Facebook
    • Partager sur Twitter
    "Dans Javascript il y a script alors laissez ça aux scénaristes d’Hollywood" Tom Cruise
      24 octobre 2016 à 19:01:43

      Avant d'aller plus loin je te demande de lire cette page, dès que tu auras compris, tu améliores ton code et tu reviens ici

      http://www.w3schools.com/js/js_arrays.asp

      • Partager sur Facebook
      • Partager sur Twitter
        24 octobre 2016 à 19:04:52

        C'est ta boucle qui est mauvaise (entre autre)

        Je pense que tu as voulu faire "Tant que i est inferieur a la longueur de x" Sauf qu'au final tu compare un entier (i) avec un tableau (x)

        Tu as 2 possibilites:

        1- comparer i a la longueur du tableau que tu peux trouver grace a x.length (ATTENTION dans ton exemple x.length va te retourner 4 mais si ton i par de 0 et doit etre <= a la longueur, tu vas passer 5 fois dans la boucle et non 4)

        2- il y a une methode javascript qui permet de parcourir un tablequ: foreach que tu peux utiliser ainsi:

        x.foreach(function(){

        tes operations

        })

        ATTENTION: dans ton code tu fais un var result = x[i] * 2. en faisant ca tu redeclare ta variable result et tu lui donne une valeur. Hors tu voudrais ressortir un tableau.

        Tu dois donc declarer ta variable en tant que tableau AVANT ta boucle: result = [], et ensuite ajouter ton resultat dedans: result.push(tonresultat)

        Bonne chance

        -
        Edité par Aurélien Massé 24 octobre 2016 à 19:07:38

        • Partager sur Facebook
        • Partager sur Twitter
          24 octobre 2016 à 19:05:33

          Oui et x sera un tableau donc dire i<= x ne veut rien dire. Il faut demander la longueur du tableau : x.length

          EDIT: déjà dit

          -
          Edité par Lucky13 24 octobre 2016 à 19:06:19

          • Partager sur Facebook
          • Partager sur Twitter

          Logique

          × 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