Neuspořádanost objektů v JavaScriptu
Jak již víte, v polích se prvky umísťují v přísném pořadí, protože pozice každého prvku určuje jeho klíč. V objektech si klíče přiřazujeme sami, proto pořadí prvků nehraje roli. To znamená, že pole jsou uspořádané seznamy, zatímco objekty ne.
Jako příklad uvažujme následující objekt:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // vypíše 'a'
console.log(obj[2]); // vypíše 'b'
console.log(obj[3]); // vypíše 'c'
Pokud přeuspořádáte prvky tohoto objektu v libovolném pořadí (samozřejmě spolu s jejich klíči), nic se na funkci našeho skriptu nezmění:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // vypíše 'a'
console.log(obj[2]); // vypíše 'b'
console.log(obj[3]); // vypíše 'c'
Kromě toho číselné klíče nemusí mít všechny hodnoty bez mezer, jako je tomu u pole. Můžeme mít libovolná čísla a nezpůsobí to žádné problémy (podobně jako řídkost u polí). Proto je následující objekt korektní:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Vytvořte objekt a přesvědčte se, že pořadí klíčů v něm nehraje roli.