CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Question Javascript

helenalive
helenalive
Niveau 10
24 août 2020 à 13:59:22

Salut, je découvres Javascript depuis peut (première expérience avec un language) et je me demande pourquoi est-il nécessaire de spécifier où se trouve une variable, lorsque j'écris une fonction par exemple:

function multiplyAll(arr) {
  var product = 1;
for (var i = 0; i < arr.length; i++) 
  for (var j = 0; j < arr[i].length; j++) {
    product *= arr[i][j];

}
  return product;
}

Donc façon de parler "j'attaches" la variable J à la variable I qui va itérer à travers chaque array, donc dans ma tête l'ordinateur connais la position de la variable J puisque je lui ai dit de faire quelque chose "arr[i].length".

Saud que si je je fais product *= j ça ne fonctionne pas, il faut que je spécifie que la variable J est derrière I, qui est elle même derrière l'argument de la fonction product *= arr[i][j] pour que ça fonctionne.

J'ai trouvé ça assez étrange, il faut donc systématiquement spécifier où se trouve une variable lorsqu'on écrit du code ?

Refeuh
Refeuh
Niveau 28
24 août 2020 à 14:13:42

Bcp de confusions dans ton "explication" ; i et j ne sont que des variables qui servent á parcourir le contenu du tableau arr en indexant les cellules. On ne s'interesse pas á la "position" de j, mais á la plage de valeurs couverte par la boucle (de 0 á arr[i].length)

Tu devrais reprendre un cours de base avec : les variables, les structures de controle (ici les boucles notamment), et les tableaux (et accesseurs)

Qqch qui peut aider á mieux visualiser : ecris "á la main" les etapes de tes boucles sur un cas concret ; etant donné un tableau, derouler la logique et ecrire les valeurs.

Message édité le 24 août 2020 à 14:15:24 par Refeuh
cybevil
cybevil
Niveau 27
24 août 2020 à 14:25:51

Personnellement je n'ai rien compris...
Peut-être que tu pourrais donner un exemple simple avec le résultat que tu t'attends à avoir et les résultats que tu obtients à la place.

Tout est trop abstrait dans ton exemple, par exemple tu dis "si je je fais product *= j ça ne fonctionne pas"...
Qu'est-ce qui ne marche pas et pourquoi vouloir multiplié une variable sensé faire office de compteur.
Je ne comprends pas non plus ce que tu entends par "il nécessaire de spécifier où se trouve une variable".

helenalive
helenalive
Niveau 10
24 août 2020 à 14:29:22

Ok je vais suivre ton dernier conseil, mais sinon je suis bien passé par les premiers cours JS même très basique et c'est pas quelque chose qui est abordé, enfin j'imagine que ça fait sens au bout d'un moment d'une manière ou d'une autre :hap:

dechet_s0cial
dechet_s0cial
Niveau 10
25 août 2020 à 15:56:44
const multiplyAll = (arr) => arr.map(x=>x.reduce((p,c) => p*c)).reduce((p,c) => p*c)
boucif
boucif
Niveau 24
26 août 2020 à 17:43:10

Tu parcours un tableau multi- dimensions c’est normal de devoir spécifier les 2 index

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment