📢 Nuovo Corso Laravel API disponibile!

Mappare Oggetto JSON

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);