Беоғангарии объектҳо дар JavaScript
Чунон ки шумо аллакай медонед, дар массивҳо унсурҳо дар тартиби қатъӣ ҷойгир мешаванд, зеро мавқеи ҳар як унсур калиди онро муайян мекунад. Дар объектҳо мо худамон калидҳоро таъин мекунем, аз ин рӯ тартиби пайравӣ кардани унсурҳо аҳамият надорад. Яъне массивҳо рӯйхатҳои тартибдодашуда мебошанд, ва объектҳо - не.
Барои мисол объекти зеринро дида мебароем:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // 'a'-ро чоп мекунад
console.log(obj[2]); // 'b'-ро чоп мекунад
console.log(obj[3]); // 'c'-ро чоп мекунад
Агар унсурҳои ин объектро ба тарзи ихтиёрӣ ҷобаҷо кунем (албатта, бо калидҳои онҳо), ҳеҷ чиз дар кори скрипти мо аз ин тағйир нахоҳад ёфт:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // 'a'-ро чоп мекунад
console.log(obj[2]); // 'b'-ро чоп мекунад
console.log(obj[3]); // 'c'-ро чоп мекунад
Ғайр аз ин, калидҳои ададӣ заруран нест, ки ҳамаи қиматҳоро бе сӯрох дошта бошанд, монанди массив. Мо метавонем рақамҳои ихтиёрӣ дошта бошем ва ин ба ҳеҷ мушкиле оварда намерасонад (монанди массивҳои сӯрохдор). Аз ин рӯ объекти зерин дуруст аст:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Объект эҷод кунед ва боварӣ ҳосил кунед, ки тартиби калидҳо дар он аҳамият надорад.