Objektu nešķirotība JavaScript
Kā jūs jau zināt, masīvos elementi atrodas stingrā secībā, jo katra elementa pozīcija nosaka tā atslēgu. Objektos mēs paši piešķiram atslēgas, tāpēc elementu secībai nav nozīmes. Tas nozīmē, ka masīvi ir sakārtoti saraksti, bet objekti - nav.
Piemēram, apsveriet šādu objektu:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // izvadīs 'a'
console.log(obj[2]); // izvadīs 'b'
console.log(obj[3]); // izvadīs 'c'
Ja pārkārtot šī objekta elementus patvaļīgā secībā (protams, kopā ar to atslēgām), tad nekas no tā darbā mūsu skripta nemainīsies:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // izvadīs 'a'
console.log(obj[2]); // izvadīs 'b'
console.log(obj[3]); // izvadīs 'c'
Turklāt, skaitliskām atslēgām nav obligāti jābūt visām vērtībām bez caurumiem, līdzīgi masīvam. Mums var būt patvaļīgi skaitļi un tas neradīs nekādas problēmas (līdzīgi retajiem masīviem). Tāpēc šāds objekts ir korekts:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Izveidojiet objektu un pārliecinieties, ka secībai atslēgām tajā nav nozīmes.