Neordonarea obiectelor în JavaScript
După cum știți deja, în array-uri elementele sunt aranjate într-o ordine strictă, deoarece poziția fiecărui element îi determină cheia. În obiecte, noi înșine atribuim cheile, de aceea ordinea în care urmează elementele nu are importanță. Adică array-urile sunt liste ordonate, iar obiectele - nu.
De exemplu, să luăm în considerare următorul obiect:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // va afișa 'a'
console.log(obj[2]); // va afișa 'b'
console.log(obj[3]); // va afișa 'c'
Dacă rearanjam elementele acestui obiect în o ordine arbitrară (bineînțeles, împreună cu cheile lor), atunci nimic din funcționarea scriptului nostru nu se va schimba:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // va afișa 'a'
console.log(obj[2]); // va afișa 'b'
console.log(obj[3]); // va afișa 'c'
În plus, cheile numerice nu este obligatoriu să aibă toate valorile fără goluri, asemenea unui array. Putem avea numere arbitrare și acest lucru nu va duce la nici o problemă (asemănător lacunarității la array-uri). Prin urmare, următorul obiect este corect:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Creați un obiect și convingeți-vă că ordinea cheilor în el nu are importanță.