Problème d'affichage avec for en js

Sakura.o -  
Sakura.o Messages postés 3 Statut Membre -
Bonjour,

Je débute depuis pas très longtemps le javascript , et je fait l'exercice de Pokémon avec les Api etc... et je pense que c'est ma boucle for où j'ai le problème mais le soucis il me faut absolument la boucle pour que je recupere les attaques du pokemon ! Voici mon résultat dans le cmder :

ID : 1
Nom : bulbasaur
Taille : 7
Poids : 69
Attaques : pound
Attaques : pound,double-slap
Attaques : pound,double-slap,pay-day
Attaques : pound,double-slap,pay-day,comet-punch
Attaques : pound,double-slap,pay-day,comet-punch,cut
Attaques : pound,double-slap,pay-day,comet-punch,cut,scratch
Attaques : pound,double-slap,pay-day,comet-punch,cut,scratch,razor-wind
Attaques : pound,double-slap,pay-day,comet-punch,cut,scratch,razor-wind,guillotine
Attaques : pound,double-slap,pay-day,comet-punch,cut,scratch,razor-wind,guillotine,mega-punch
Attaques : pound,double-slap,pay-day,comet-punch,cut,scratch,razor-wind,guillotine,mega-punch,whirlwind
Attaques : pound,double-slap,pay-day,comet-punch,cut,scratch,razor-wind,guillotine,mega-punch,whirlwind,bind
Attaques : pound,double-slap,pay-day,comet-punch,cut,scratch,razor-wind,guillotine,mega-punch,whirlwind,bind,swords-dance
Attaques : pound,double-slap,pay-day,comet-punch,cut,scratch,razor-wind,guillotine,mega-punch,whirlwind,bind,swords-dance,vice-grip

Et j'aimerais que ça m'affiche comme ça :

ID : 1
Nom : bulbasaur
Taille : 7
Poids : 69
Attaques : pound,double-slap,pay-day,comet-punch,cut,scratch,razor-wind,guillotine,mega-punch,whirlwind,bind,swords-dance,vice-grip

// Avec tout les attacks en une seule fois

Et voici mon code js :

var request = require('request');
function catchPokemon(result) {

request.get("https://pokeapi.co/api/v2/pokemon/" + result, function (err, res, body) {
var json = JSON.parse(body);
var stocks = [];
console.log('ID : ' + json.id)
console.log('Nom : ' + json.name)
console.log('Taille : ' + json.height)
console.log('Poids : ' + json.weight)

request.get('https://pokeapi.co/api/v2/move/', function (err, res, body) {

var json2 = JSON.parse(body)
var rest = json2.results;
//console.log(res) // nom des attack

for (var i = 0; i < rest.length; i++) {

request.get(rest[i].url, function (err, res, body) {

var json3 = JSON.parse(body)
var res2 = json3.type;

if (res2.url === ("https://pokeapi.co/api/v2/type/" + result + "/")) {

var arr = json3.name;
stocks.push(arr);
console.log("Attaques : " + stocks);

return;

}

})

}

})
})
} catchPokemon(1);


Je vous remercie d'avance pour votre aide :)

4 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour

    res ou rest ... Tu as mis un t sur une de tes variables...puis il disparaît quand tu l'utilises ...??
    0
  2. Sakura.o Messages postés 3 Statut Membre
     
    Bonjour :)

    C'est bien rest , je ne utilise pas le res des paramètres de la function
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Pourtant.. moi je vois du res dans ton code...
      0
  3. Sakura.o Messages postés 3 Statut Membre
     
    les rest , je l'appelle via à cette variable " var rest = json2.results;" ( .results de la requete , pas celui de la function ) , les seuls res c'est dans les paramètres des function , sinon il y a aussi res2 qui n'est pas res !
    ( désolé, j'aurais due mieux les nommés )
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Ok j'ai mal vu vu que tu n'as pas utiliser correctement les balises de code pour poster ton code...
      (A lire pour tes prochains messages :. https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code )

      Bref,
      Ajoute des console.log afin d'afficher le contenu de tes variables avant tes boucles et montre-nous à quoi ça ressemble'.
      0
  4. Sakura.o Messages postés 3 Statut Membre
     
    Merci pour l'info.

    console.log de rest c'est ça


    le consol.log de json2 c'est ça :



    et le console.log de json qui donne un résultat assez long :

    0