JavaScript'te Nesnelerin Sırasızlığı
Bildiğiniz gibi, dizilerde elemanlar sıkı bir sırada bulunur, çünkü her elemanın konumu onun anahtarını belirler. Nesnelerde ise anahtarları biz atadığımız için elemanların sıralaması bir önem taşımaz. Yani diziler sıralı listelerken, nesneler değildir.
Örnek olarak şu nesneyi ele alalım:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // 'a' yazacak
console.log(obj[2]); // 'b' yazacak
console.log(obj[3]); // 'c' yazacak
Bu nesnenin elemanlarını (tabii ki anahtarlarıyla birlikte) rastgele bir sıraya koyarsak, betiğimizin çalışmasında hiçbir şey değişmeyecek:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // 'a' yazacak
console.log(obj[2]); // 'b' yazacak
console.log(obj[3]); // 'c' yazacak
Ayrıca, sayısal anahtarların mutlaka dizilerde olduğu gibi boşluksuz tüm değerlere sahip olması gerekmez. Keyfi sayılarımız olabilir ve bu herhangi bir soruna yol açmaz (dizilerdeki seyreklik gibi). Bu nedenle aşağıdaki nesne doğrudur:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Bir nesne oluşturun ve içindeki anahtar sırasının önemsiz olduğunu görün.