Traccia
Questo è un esercizio decisamente più corto rispetto agli altri, ma non per questo più facile. L’obiettivo è prendere un esempio di dati JSON che potremmo ricevere dagli API di Firebase e convertirlo in un array di oggetti.
Come potete ben vedere abbiamo ricevuto dei dati riguardanti degli utenti. Il problema è che non sono strutturati come un array di oggetti utente, ma bensì come un unico grande oggetto. Il nostro compito è appunto quello di rivedere interamente l’oggetto per creare un array di oggetti.
Se il risultato è corretto, ogni soluzione è valida.
Oggetto di Partenza
const data = { users: { wqiu237uh390fvx: { firstname: "luca", lastname: "rossi", }, ksxz993ql617oer: { firstname: "marco", lastname: "verdi", }, },};
Array di Oggetti Finale
const data = [ { id: "wqiu237uh390fvx", firstname: "luca", lastname: "rossi" }, { id: "ksxz993ql617oer", firstname: "marco", lastname: "verdi" },];
Soluzione
Pagina HTML
<!DOCTYPE html><html lang="it"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <script src="script.js"></script> </body></html>
Pagina Script.js
const data = { users: { wqiu237uh390fvx: { firstname: "luca", lastname: "rossi", }, ksxz993ql617oer: { firstname: "marco", lastname: "verdi", }, },};
const users = [];
for (let key of Object.keys(data.users)) { users.push({ id: key, ...data.users[key] });}
console.log(users);