Çrregulltësia e Objekteve në JavaScript
Siç e dini tashmë, në vargjet elementet vendosen në një rend të rreptë, sepse pozita e çdo elementi përcakton çelësin e tij. Në objektet, ne vetë caktojmë çelësat, prandaj rendi i ndjekjes së elementeve nuk ka rëndësi. Kjo do të thotë që vargjet janë lista të renditura, ndërsa objektet nuk janë.
Për shembull, merrni parasysh këtë objekt:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // do të shfaqë 'a'
console.log(obj[2]); // do të shfaqë 'b'
console.log(obj[3]); // do të shfaqë 'c'
Nëse i ndërroni elementet e këtij objekti në çdo rend të zakonshëm (sigurisht, së bashku me çelësat e tyre), asgjë në funksionimin e skriptit tonë nuk do të ndryshojë:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // do të shfaqë 'a'
console.log(obj[2]); // do të shfaqë 'b'
console.log(obj[3]); // do të shfaqë 'c'
Përveç kësaj, çelësat numerikë nuk domosdoshmërisht duhet të kenë të gjitha vlerat pa vrima, si në varg. Ne mund të kemi numra arbitrar dhe kjo nuk do të shkaktojë ndonjë problem (të ngjashme me vargjet e rralla). Prandaj, objekti në vijim është i saktë:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Krijoni një objekt dhe binduni që rendi i çelësave në të nuk ka rëndësi.