Неўпарадкаванасць аб'ектаў у 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'};
Стварыце аб'ект і пераканайцеся, што парадак ключаў у ім не мае значэння.