Neuređenost objekata u JavaScript-u
Kao što već znate, u nizovima se elementi nalaze u strogo određenom redosledu, jer pozicija svakog elementa određuje njegov ključ. U objektima mi sami dodeljujemo ključeve, stoga redosled elemenata nije bitan. To jest, nizovi su uređene liste, a objekti - nisu.
Za primer razmotrimo ovakav objekat:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // ispisaće 'a'
console.log(obj[2]); // ispisaće 'b'
console.log(obj[3]); // ispisaće 'c'
Ako premeštamo elemente ovog objekta u proizvoljnom redosledu (naravno, zajedno sa njihovim ključevima), ništa se od toga u radu našeg skripta neće promeniti:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // ispisaće 'a'
console.log(obj[2]); // ispisaće 'b'
console.log(obj[3]); // ispisaće 'c'
Pored toga, numerički ključevi ne moraju nužno imati sve vrednosti bez rupa, poput niza. Mi možemo imati proizvoljne brojeve i to neće dovesti ni do kakvih problema (slično raretku kod nizova). Stoga je sledeći objekat korektan:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Napravite objekat i uverite se da redosled ključeva u njemu nije bitan.