Uordnen af objekter i JavaScript
Som du allerede ved, er elementer i arrays arrangeret i streng rækkefølge, da positionen af hvert element bestemmer dets nøgle. I objekter tildeler vi selv nøgler, derfor har rækkefølgen af elementer ingen betydning. Det vil sige, at arrays er ordnede lister, mens objekter ikke er det.
Lad os som eksempel se på følgende objekt:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // vil udskrive 'a'
console.log(obj[2]); // vil udskrive 'b'
console.log(obj[3]); // vil udskrive 'c'
Hvis man omarrangerer elementerne i dette objekt i en tilfældig rækkefølge (selvfølgelig sammen med deres nøgler), vil intet ændre sig i virkemåden af vores script:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // vil udskrive 'a'
console.log(obj[2]); // vil udskrive 'b'
console.log(obj[3]); // vil udskrive 'c'
Derudover behøver numeriske nøgler ikke at have alle værdier uden huller, som i et array. Vi kan have vilkårlige tal og det vil ikke forårsage nogen problemer (lignende spredthed ved arrays). Derfor er følgende objekt korrekt:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Opret et objekt og overbevis dig om, at rækkefølgen af nøgler i det ikke har nogen betydning.