Problème d'affichage avec for en js

Signaler
-
Messages postés
3
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
13 septembre 2020
-
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

Messages postés
29531
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 septembre 2020
2 774
Bonjour

res ou rest ... Tu as mis un t sur une de tes variables...puis il disparaît quand tu l'utilises ...??
Messages postés
3
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
13 septembre 2020

Bonjour :)

C'est bien rest , je ne utilise pas le res des paramètres de la function
Messages postés
29531
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 septembre 2020
2 774
Pourtant.. moi je vois du res dans ton code...
Messages postés
3
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
13 septembre 2020

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 )
Messages postés
29531
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 septembre 2020
2 774
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'.
Messages postés
3
Date d'inscription
dimanche 13 septembre 2020
Statut
Membre
Dernière intervention
13 septembre 2020

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 :