Ongeordendheid van objecten in JavaScript
Zoals je al weet, staan elementen in arrays in een strikte volgorde, omdat de positie van elk element zijn sleutel bepaalt. In objecten wijzen we zelf de sleutels toe, daarom doet de volgorde van de elementen er niet toe. Dat wil zeggen, arrays zijn geordende lijsten, en objecten zijn dat niet.
Laten we als voorbeeld het volgende object bekijken:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // geeft 'a' weer
console.log(obj[2]); // geeft 'b' weer
console.log(obj[3]); // geeft 'c' weer
Als je de elementen van dit object in een willekeurige volgorde zet (natuurlijk samen met hun sleutels), verandert er niets aan de werking van ons script:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // geeft 'a' weer
console.log(obj[2]); // geeft 'b' weer
console.log(obj[3]); // geeft 'c' weer
Bovendien hoeven numerieke sleutels niet alle waarden zonder gaten te hebben, zoals bij een array. We kunnen willekeurige getallen hebben en dit zal geen enkel probleem veroorzaken (vergelijkbaar met sparse arrays bij arrays). Daarom is het volgende object correct:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Maak een object aan en overtuig jezelf ervan dat de volgorde van de sleutels erin niet belangrijk is.