JavaScript-də Obyektlərin Sırasızlığı
Artıq bildiyiniz kimi, massivlərdə elementlər ciddi qaydada yerləşir, çünki hər bir elementin pozisiyası onun açarını müəyyən edir. Obyektlərdə isə biz özümüz açarları təyin edirik, buna görə də elementlərin ardıcıllığının əhəmiyyəti yoxdur. Yəni massivlər sıralanmış siyahılardır, obyektlər isə deyil.
Nümunə üçün belə bir obyektə baxaq:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // 'a' çap edəcək
console.log(obj[2]); // 'b' çap edəcək
console.log(obj[3]); // 'c' çap edəcək
Əgər bu obyektin elementlərini (əlbəttə ki, onların açarları ilə birlikdə) ixtiyari qaydada dəyişdirsək, skriptimizin işində heç nə dəyişməyəcək:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // 'a' çap edəcək
console.log(obj[2]); // 'b' çap edəcək
console.log(obj[3]); // 'c' çap edəcək
Bundan əlavə, ədədi açarlar mütləq massivdə olduğu kimi boşluqları olmayan bütün dəyərlərə malik olmalı deyil. Bizdə ixtiyari nömrələr ola bilər və bu heç bir problemə səbəb olmayacaq (massivlərdəki seyrəklik kimi). Buna görə də aşağıdakı obyekt düzgündür:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Bir obyekt yaradın və onun açarlarının sırasının əhəmiyyəti olmadığına əmin olun.