Livello 9.10 del libro di problemi JavaScript
Data una tabella. L'utente clicca in sequenza su due celle, evidenziandole. Fai in modo che tutte le celle posizionate in ordine tra quelle cliccate dall'utente vengano evidenziate in rosso.
Scrivi il codice che determini il livello massimo di annidamento di un array multidimensionale.
Dato un elenco di alcuni dati per determinate date, memorizzato nella seguente struttura:
let data = [
{
year: 2019,
month: 11,
day: 20,
data: ['array con dati']
},
{
year: 2019,
month: 11,
day: 21,
data: ['array con dati']
},
{
year: 2019,
month: 12,
day: 25,
data: ['array con dati']
},
{
year: 2019,
month: 12,
day: 26,
data: ['array con dati']
},
{
year: 2020,
month: 10,
day: 29,
data: ['array con dati']
},
{
year: 2020,
month: 10,
day: 30,
data: ['array con dati']
},
{
year: 2020,
month: 11,
day: 19,
data: ['array con dati']
},
{
year: 2020,
month: 11,
day: 20,
data: ['array con dati']
},
]
Scrivi il codice che converta la struttura dei dati in una struttura del tipo:
{
anno1: {
mese1: {
giorno1: [array di dati],
giorno2: [array di dati],
giorno3: [array di dati],
}
mese2: {
giorno1: [array di dati],
giorno2: [array di dati],
giorno3: [array di dati],
}
}
anno2: {
mese1: {
giorno1: [array di dati],
giorno2: [array di dati],
giorno3: [array di dati],
}
mese2: {
giorno1: [array di dati],
giorno2: [array di dati],
giorno3: [array di dati],
}
}
}