JavaScriptda ob'ektlarning tartibsizligi
Bilganingizdek, massivlarda elementlar qat'iy tartibda joylashgan, chunki har bir elementning pozitsiyasi uning kalitini belgilaydi. Ob'ektlarda esa biz kalitlarni o'zimiz belgilaymiz, shuning uchun elementlarning ketma-ketligi muhim emas. Ya'ni massivlar tartibli ro'yxatlar hisoblanadi, ob'ektlar esa - yo'q.
Misol uchun quyidagi ob'ektni ko'rib chiqamiz:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // 'a' ni chiqaradi
console.log(obj[2]); // 'b' ni chiqaradi
console.log(obj[3]); // 'c' ni chiqaradi
Agar ushbu ob'ekt elementlarini ixtiyoriy tartibda qayta joylashtirsak (albatta, ularning kalitlari bilan birga), unda bizning skriptimiz ishlashida hech qanday o'zgarish bo'lmaydi:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // 'a' ni chiqaradi
console.log(obj[2]); // 'b' ni chiqaradi
console.log(obj[3]); // 'c' ni chiqaradi
Bundan tashqari, raqamli kalitlar albatta massivdagidek bo'shliqlarsiz barcha qiymatlarga ega bo'lishi shart emas. Bizda ixtiyoriy raqamlar bo'lishi mumkin va bu hech qanday muammolarga olib kelmaydi (massivlardagi bo'shliqlilik ga o'xshab). Shuning uchun quyidagi ob'ekt to'g'ri:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Ob'ekt yarating va uning kalitlari tartibi muhim emasligiga ishonch hosil qiling.