In iedere programmeertaal is de methode om collectief gegevens bij te houden onmisbaar. Een lijstje van dingen maakt het leven gemakkelijker voor mensen, hobbits en alle andere wezens van Midden-Aarde. In tovenaarstaal heet zo’n lijstje van dingen een array – en die “array’s” in JavaScript zijn niet alleen kinderlijk eenvoudig, maar ook multifunctioneel.
Als intrinsiek object is een Array in JavaScript belangrijk; objecten in JavaScript worden behandeld als arrays (waardoor tovenaars vaak JavaScript objecten niet vaak beschouwen als ‘echte’ objecten). Een array is in ‘essentie’ een genummerde lijst; ieder ‘item’ in de lijst heeft een ‘indexnummer’. Stel, we maken een lijst van boodschappen in JavaScript:
var boodschappenlijst = new Array ( ) ; /* eerst maken we een array object */
boodschappenlijst [0] = “appels”; /*arrays beginnen bij de 0 met tellen */
boodschappenlijst [1] = “peren” ;
boodschappenlijst [2] = “bananen” ;
Als we nu het volgende zouden doen:
var a = boodschappenlijst [2] ;
Dan bevat de variabele a nu de tekenreeks “bananen”. Lijsten mogen zo lang zijn als je wilt; de echte voordelen van arrays zullen snel genoeg duidelijk worden wanneer er met Elvenmagie gespeeld zal worden, zoals sorteren of automatiseren.
Wat JavaScript ook toelaat zijn “associatieve” arrays; in plaats van nummers mag je ook tekst gebruiken. Soms is de ene manier handig, maar soms de andere; objecten zijn bijvoorbeeld associatieve arrays. Ongeacht de methode, blijven arrays een essentiële nummering houden – maar het is in JavaScript in vergelijking met andere programmeertalen minder mistig of omslachtig. Stel we maken de volgende array:
var autos = new Array ( ) ;
autos [“Porsche”] = “911”;
autos [“Mercedes”] = “Amg” ;
autos [“Dodge”] = “Challenger” ;
Dan zouden we met de volgende manieren de waardes terughalen:
autos.Porsche ; /* geeft 911 */
autos [“Dodge”] ; /* geeft Challenger */
autos [1] ; /* geeft Amg – JavaScript telt vanaf 0! */
Met een array kan een Hobbit al bijzondere dingen doen, maar de Elf zal vooral in de flexibiliteit van JavaScript vreugde vinden. Zo kan een array andere arrays bevatten; multi-dimensionale ‘matrices’ maken zaken als ‘kunstmatige intelligentie’ mogelijk of andere leuke wiskundige truukjes.
Natuurlijk valt er nog veel te bespreken over arrays; deze objecten hebben hun eigen ‘methoden’ (functies die van toepassing zijn op een object), zoals .push, .pop, .slice, .delete, enzovoorts. Hoe meer men vordert in Elvenmagie, zal de kunde met arrays toenemen. Belangrijk op dit moment is het gedrag van arrays als lijstjes én als boomstructuur. De ‘boomstructuur’ (door tovenaars bekend als ‘tree’ of ‘nodelist’) is een multi-dimensionale matrix, waarbij ieder item een ‘element’ (of node) is, die verbonden is aan de ‘hoofdtak’ of stam (ook ‘root’ genoemd). Door deze techniek kun je met arrays een complexe hiërarchie ontwerpen:
var x = new Array ( ) ; /* x – afdeling A */
x [“organisatie”] = new Array ( ) ; /* - afdeling B */
x [“organisatie”] [“afdeling A”] = new Array ( ) ; /* - manager B */
x [“organisatie”] [“afdeling B”] = new Array ( ) ;
x [“organisatie”] [“afdeling B”] [“manager B”] ;
Meer lezen over Programmeren? Klik hier voor de inhoudsopgave voor alle artikelen!
©SamRain
sam-rain-articles.blogspot.com
Reacties (1)