Επίπεδο 9.10 του βιβλίου προβλημάτων JavaScript
Δίνεται ένας πίνακας. Ο χρήστης κάνει κλικ με σειρά σε δύο κελιά, επιλέγοντάς τα. Κάντε έτσι ώστε με κόκκινο χρώμα να επιλεγούν όλα τα κελιά που βρίσκονται με σειρά μεταξύ εκείνων στα οποία έκανε κλικ ο χρήστης.
Γράψτε κώδικα που θα καθορίσει το μέγιστο επίπεδο ένθεσης ενός πολυδιάστατου πίνακα.
Δίνεται μια λίστα με ορισμένα δεδομένα για συγκεκριμένες ημερομηνίες, που αποθηκεύεται στην ακόλουθη δομή:
let data = [
{
year: 2019,
month: 11,
day: 20,
data: ['πίνακας με δεδομένα']
},
{
year: 2019,
month: 11,
day: 21,
data: ['πίνακας με δεδομένα']
},
{
year: 2019,
month: 12,
day: 25,
data: ['πίνακας με δεδομένα']
},
{
year: 2019,
month: 12,
day: 26,
data: ['πίνακας με δεδομένα']
},
{
year: 2020,
month: 10,
day: 29,
data: ['πίνακας με δεδομένα']
},
{
year: 2020,
month: 10,
day: 30,
data: ['πίνακας με δεδομένα']
},
{
year: 2020,
month: 11,
day: 19,
data: ['πίνακας με δεδομένα']
},
{
year: 2020,
month: 11,
day: 20,
data: ['πίνακας με δεδομένα']
},
]
Γράψτε κώδικα, που θα μετατρέψει τη δομή δεδομένων σε δομή της μορφής:
{
έτος1: {
μήνας1: {
ημέρα1: [πίνακας δεδομένων],
ημέρα2: [πίνακας δεδομένων],
ημέρα3: [πίνακας δεδομένων],
}
μήνας2: {
ημέρα1: [πίνακας δεδομένων],
ημέρα2: [πίνακας δεδομένων],
ημέρα3: [πίνακας δεδομένων],
}
}
έτος2: {
μήνας1: {
ημέρα1: [πίνακας δεδομένων],
ημέρα2: [πίνακας δεδομένων],
ημέρα3: [πίνακας δεδομένων],
}
μήνας2: {
ημέρα1: [πίνακας δεδομένων],
ημέρα2: [πίνακας δεδομένων],
ημέρα3: [πίνακας δεδομένων],
}
}
}