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'};
Объект жасаңыз және ондағы кілттердің реті маңызды емес екеніне көз жеткізіңіз.