I have already handled a response from an API call. I then export the data into a function that i’m using a for
loop inside. The const diomerda
is passed to the ejs file where i am outputting the array data from the API. However the data in the array is over 5000 entries, so i want to run a for loop to populate the ejs file with the entire array. But when I use loop.push
it does not populate the const loop
. console.log(loop)
just reads []
.
Once the const loop = []
is populated with the array i was then going to pass the data into the const diomerda = [json.entries[loop].character.name]
I’f anyone has any other ideas on how to acheive what i’m trying to do then please feel free to send away. Thanks in advance.
.then(response => response.json()) .then(json => ejsoutput(json)) } function ejsoutput(json) { const loop = [] console.log(loop) const diomerda = [json.entries[0].character.name, json.entries[1].character.name, json.entries[2].character.name] for (var i = 0; i < json.entries.length; i++) { loop.push(i) } res.render('index', { leaderboard: diomerda }) } });
Advertisement
Answer
Once the
const loop = []
is populated with the array i was then going to pass the data into theconst diomerda = [json.entries[loop].character.name]
If what you want is to populate diomerda
with each character name return from the api, do this
function ejsoutput(json) { const diomerda = []; for (var i = 0; i < json.entries.length; i++) { diomerda.push(json.entries[i].character.name); } console.log(diomerda); }
OR in simpler terms
function ejsoutput(json) { const diomerda = json.entries.map(item => item.character.name); console.log(diomerda); }