-2
votes

Itérer via un tableau API-TRAY, Data.Foreach n'est pas une fonction

J'ai essayé d'obtenir de l'aide hier mais je n'ai pas eu beaucoup de couverture du vrai problème, et je n'ai pas donné à une grande partie de mon code, mais nous y allons ici. Ne me flânez pas pour ma mauvaise compréhension du codage s'il vous plaît :).

J'essaie de boucler à travers une API obtenir une réponse, c'est à Json. Mais je suis coincé à la boucle de Foreach comme vous pouvez le voir dans le code. Voici le message d'erreur: non capturé (en promesse) TypeError: données.Foresach n'est pas une fonction à index.js: 26

voici l'ensemble du code JavaScript: xxx

Qu'est-ce que j'essaie de faire est que, quand quelqu'un recherche un code crédieux Dans la zone de recherche, certaines des nouvelles apparaîtront pour le pays. Ensuite, le code est censé créer des éléments avec des classes de bootstrap.

voici la console.log (données);

 image


8 commentaires

Le tableau.Prototype.foreach () ne fonctionne que sur le type de tableau, assurez-vous que votre API renvoie les données comme une matrice, vous devrez peut-être l'analyser au bon format de la réponse.


Pouvez-vous inclure la sortie de console.log (données)?


@Ank ici tu vas.


La capture d'écran vient de couper quelque chose d'important au sommet: le tableau est dans une propriété propriété de data , pas données , qui est une simple objet.


@Ank {Statut: "OK", TOTALRESULTS: 34, Articles: Array (20)} Désolé


Donc data.articles.foreach


Avez-vous essayé ceci ^^^^?


@Trincot Je n'ai pas fait depuis la solution de la ZFFH. Merci quand même <3


3 Réponses :


0
votes

Les données sont un objet régulier qui n'a pas de méthode foreach. Vous devez itération via la propriété de l'objet.

p>

let data = {
  "articles": [
    {
      "author": "Author 1"
    },
    {
      "author": "Author 2"
    },
    {
      "author": "Author 3"
    }
  ]
}

data.articles.forEach((obj) => {
  console.log(obj.author)
});


0 commentaires

0
votes

Vous devez inclure l'impression pour console.log (données) . Mais peu importe, il suffit de lire le message d'erreur, data.foreach n'est pas une fonction; Par conséquent, données n'est pas un tableau.


0 commentaires

1
votes

Vous ne pouvez pas itérer sur JSON code> à l'aide de foreach code>. À cette fin, vous pourriez utiliser par exemple. objet.keys () code> ou pour ... dans code> boucle - itération sur les touches de niveau supérieur, c'est-à-dire:

...
for (let key in data) {
    createArticlesHolders(data[key], container);
}
...


4 commentaires

Je semble aller quelque part avec ça, merci jusqu'à présent.


Mais maintenant j'ai reçu une nouvelle erreur: net :: err_file_not_found Qu'est-ce que cela signifie?


Pouvez-vous publier un peu plus du journal d'erreur? Il devrait y avoir une indication quel fichier est incapable de charger.


Je l'ai eu, tout va bien maintenant. Merci pour les lignes de code simples.