Online magazine over het leven, de samenleving, vrije tijd, sport, entertainment en spellen.
Onafhankelijk sinds 2011
Digitaal

JavaScript voor mensen, hobbits en elven - Deel 8

Dit artikel komt uit het open archief van Plazilla: lezers publiceerden hier jarenlang hun eigen verhalen, recepten en reportages. De tekst is bewaard zoals de auteur hem plaatste.
“Objecten zijn niet altijd puur object; en dat geeft niet!”
- Sam Rain


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.

Array

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.

Lijstjes


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.

Boomstructuur


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 van lezers (1)

  • Saltus · 4 juli 2012

    Goed geschreven! Ik ben benieuwd naar het JavaScript voor Orcs en Nazgul's ;)

Reageren is niet meer mogelijk; de reacties blijven bewaard zoals ze destijds zijn geplaatst.

Meer uit Digitaal

Alles in Digitaal →
Meningsverschillen

Meningsverschillen

Wat één van de kenmerken van de sociale media is, van álle sociale media, is dat iedereen over van alles en nog wat een mening heeft. Dat is natuurlij...

door Nescio · 28 april 2016
Afscheid van Plazilla

Afscheid van Plazilla

Ik weet het, ik heb ooit gezegd dat ik mijn vertrek op Plazilla nooit zal aankondigen. Waarom ik het dan toch doe? Nimletters- website Simpel, om degenen...

door Karazmin · 19 februari 2016
Wat is YouTube Red?

Wat is YouTube Red?

Het heeft lang geduurd, maar de advertentievrije versie van YouTube is er nu eindelijk en kost $10 per maand. Vandaag is YouTube Red gelanceerd. Abonnees...

door Tourniquet · 22 oktober 2015