Как вы уже знаете, в массивах элементы располагаются в строгом порядке, ведь позиция каждого элемента определяет его ключ. В объектах же мы сами назначаем ключи, поэтому порядок следования элементов не имеет значения. То есть массивы являются упорядоченными списками, а объекты - нет.
Для примера рассмотрим вот такой объект:
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'};
Создайте объект и убедитесь, что порядок ключей в нем не имеет значения.