Oordning av objekt i JavaScript
Som du redan vet, i arrayer är element placerade i strikt ordning, eftersom positionen för varje element bestämmer dess nyckel. I objekt tilldelar vi själva nycklarna, därför spelar ordningen på elementen ingen roll. Det vill säga, arrayer är ordnade listor, medan objekt inte är det.
Som ett exempel, betrakta följande objekt:
let obj = {1: 'a', 2: 'b', 3: 'c'};
console.log(obj[1]); // skriver ut 'a'
console.log(obj[2]); // skriver ut 'b'
console.log(obj[3]); // skriver ut 'c'
Om du omarrangerar elementen i detta objekt i godtycklig ordning (naturligtvis tillsammans med deras nycklar), kommer inget i vårt skripts funktion att förändras:
let obj = {3: 'c', 1: 'a', 2: 'b'};
console.log(obj[1]); // skriver ut 'a'
console.log(obj[2]); // skriver ut 'b'
console.log(obj[3]); // skriver ut 'c'
Dessutom behöver numeriska nycklar inte nödvändigtvis ha alla värden utan luckor, som i en array. Vi kan ha godtyckliga nummer och det kommer inte att orsaka några problem (liknande gleshet hos arrayer). Därför är följande objekt korrekt:
let obj = {7: 'a', 50: 'b', 23: 'c'};
Skapa ett objekt och verifiera att ordningen av nycklar i det inte har någon betydelse.