Κλειδιά από μεταβλητές σε πολυδιάστατες δομές JavaScript

Ας υποθέσουμε το ακόλουθο αντικείμενο:

javascriptlet obj = {
  'sub1': ['11', '12', '13'],
  'sub2': ['21', '22', '23'],
};

Ας εμφανίσουμε ένα στοιχείο από το αντικείμενό μας, για παράδειγμα, το στοιχείο '22':

javascriptconsole.log(obj['sub2'][1]);

Ας υποθέσουμε τώρα ότι τα κλειδιά αποθηκεύονται σε μεταβλητές:

javascriptlet key1 = 'sub2';
let key2 = 1;

Ας εμφανίσουμε χρησιμοποιώντας τις μεταβλητές μας το στοιχείο της πολυδιάστατης δομής:

javascriptconsole.log(obj[key1][key2]);
Задание 1

Δίνεται η ακόλουθη δομή για την αποθήκευση λίστας υποχρεώσεων για έτη, μήνες και ημέρες:

javascriptlet affairs = {
  '2018': {
    11: {
      29: ['name111', 'name112', 'name113'],
      30: ['name121', 'name122', 'name123'],
    },
    12: {
      30: ['name211', 'name212', 'name213'],
      31: ['name221', 'name222', 'name223'],
    },
  },
  '2019': {
    12: {
      29: ['name311', 'name312', 'name313'],
      30: ['name321', 'name322', 'name323'],
      31: ['name331', 'name332', 'name333'],
    }
  },
}

Ας υποθέσουμε επίσης ότι δίνονται τρεις μεταβλητές, που περιέχουν έτος, μήνα και ημέρα. Εμφανίστε την υποχρέωση, που αντιστοιχεί στις τιμές των μεταβλητών.

Задание 2

Ο συγγραφέας του ακόλουθου κώδικα ήθελε να εμφανίσει το στοιχείο με τιμή '24':

javascriptlet obj = {
  key1: {
    key2: '12',
    key3: '13',
  },
  key2: {
    key4: '24',
    key5: '25',
  },
}

let key1 = 'key2';
let key2 = 'key4';
console.log(obj['key1'][key2]);

Ο κώδικας, ωστόσο, εμφανίζει κάτι διαφορετικό από αυτό που περίμενε ο συγγραφέας. Διορθώστε το σφάλμα.

Задание 3

Ο συγγραφέας του ακόλουθου κώδικα ήθελε να εμφανίσει το στοιχείο με τιμή '24':

javascriptlet obj = {
  key1: {
    key2: '12',
    key3: '13',
  },
  key2: {
    key4: '24',
    key5: '25',
  },
}

let key1 = 'key2';
let key2 = 'key4';
console.log(obj.key1.key2);

Ο κώδικας, ωστόσο, εμφανίζει κάτι διαφορετικό από αυτό που περίμενε ο συγγραφέας. Διορθώστε το σφάλμα.

Задание 4

Ο συγγραφέας του ακόλουθου κώδικα ήθελε να εμφανίσει το στοιχείο με τιμή '24':

javascriptlet obj = {
  key1: {
    key2: '12',
    key3: '13',
  },
  key2: {
    key4: '24',
    key5: '25',
  },
}

let key1 = 'key2';
let key2 = 'key4';
console.log(obj.key1['key2']);

Ο κώδικας, ωστόσο, εμφανίζει κάτι διαφορετικό από αυτό που περίμενε ο συγγραφέας. Διορθώστε το σφάλμα.

Задание 5

Ο συγγραφέας του ακόλουθου κώδικα ήθελε να εμφανίσει το στοιχείο με τιμή '24':

javascriptlet obj = {
  key1: {
    key2: '12',
    key3: '13',
  },
  key2: {
    key4: '24',
    key5: '25',
  },
}

let key1 = 'key2';
console.log(obj['key1']['key4']);

Ο κώδικας, ωστόσο, εμφανίζει κάτι διαφορετικό από αυτό που περίμενε ο συγγραφέας. Διορθώστε το σφάλμα.