Neurejenost objektov v JavaScript
Kot že veste, so elementi v tabelah razporejeni v strogem vrstnem redu, saj pozicija vsakega elementa določa njegov ključ. V objektih pa sami določamo ključe, zato vrstni red elementov ni pomemben. To pomeni, da so tabeli urejeni seznami, objekti pa niso.
Za primer razmislite o takem objektu:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // izpiše 'a'
console.log(obj[2]); // izpiše 'b'
console.log(obj[3]); // izpiše 'c'
Če elemente tega objeka premešate v poljubnem vrstnem redu (seveda skupaj z njihovimi ključi), se nič ne spremeni v delovanju naše skripte:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // izpiše 'a'
console.log(obj[2]); // izpiše 'b'
console.log(obj[3]); // izpiše 'c'
Poleg tega številski ključi ne morajo imeti zaporednih vrednosti brez vrzeli, kot pri tabeli. Lahko imamo poljubna števila in to ne bo povzročilo nobenih težav (podobno kot redkost pri tabelah). Zato je naslednji objekt korekten:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Ustvarite objekt in se prepričajte, da vrstni red ključev v njem ni pomemben.