Неуређеност објеката у JavaScript

Као што већ знате, у низовима се елементи налазе у строгом редоследу, јер позиција сваког елемента одређује његов кључ. У објектима ми сами додељујемо кључеве, па редослед елемената нема значаја. Дакле, низови су уређене листе, а објекти нису.

За пример, размотримо овакав објекат:

javascriptlet obj = {1: 'a', 2: 'b', 3: 'c'};

console.log(obj[1]); // исписаће 'a'
console.log(obj[2]); // исписаће 'b'
console.log(obj[3]); // исписаће 'c'

Ако преместимо елементе овог објекта у произвољном редоследу (наравно, заједно са њиховим кључевима), ништа се у раду нашег скрипта неће променити:

javascriptlet obj = {3: 'c', 1: 'a', 2: 'b'};

console.log(obj[1]); // исписаће 'a'
console.log(obj[2]); // исписаће 'b'
console.log(obj[3]); // исписаће 'c'

Поред тога, нумерички кључеви не морају обавезно имати све вредности без рупа, као низ. Можемо имати произвољне бројеве и то неће изазвати никакве проблеме (слично распршености код низова). Зато је следећи објекат исправан:

javascriptlet obj = {7: 'a', 50: 'b', 23: 'c'};
Задание 1

Направите објекат и уверите се да редослед кључева у њему нема значаја.