Vaak zult u tijdens het programmeren met een reeks items moeten werken in plaats van met één enkel object. Zo hebt u in een muziekspeler mogelijk een lijst met nummers die in de wachtrij staan om te worden afgespeeld. U wilt natuurlijk niet voor elk nummer in die lijst een afzonderlijke variabele maken. Het is wenselijker als u alle nummerobjecten in een bundel kunt plaatsen en deze als groep kunt bewerken.
Een array is een programmeerelement dat fungeert als container voor een set items, zoals een lijst met nummers. Meestal zijn alle items van een array een instantie van dezelfde klasse, maar voor ActionScript is dat niet echt nodig. De afzonderlijke items in een array worden de
elementen
van de array genoemd. Een array kan worden beschouwd als een ladekast voor variabelen. Variabelen kunnen als element aan de array worden toegevoegd, zoals u een dossier in de ladekast legt. U kunt met de array werken als met een enkele variabele (net zoals u de lade in zijn geheel kunt verplaatsen). U kunt deze variabelen als een groep bewerken (zoals u de mappen één voor één kunt doorzoeken naar een stukje informatie). U kunt ze ook afzonderlijk benaderen (zoals u de lade kunt openen om één enkele map te selecteren).
Stel dat u een muziekspeler wilt maken waarin het mogelijk is om meerdere nummers te selecteren en aan een afspeellijst toe te voegen. In uw ActionScript-code werkt u met de methode
addSongsToPlaylist()
, waarbij één array wordt geaccepteerd als parameter. Het maakt niet uit hoeveel nummers u aan de afspeellijst wilt toevoegen (een paar, veel, misschien maar één), u hoeft de methode
addSongsToPlaylist()
maar één keer op te roepen en de array met de nummerobjecten wordt doorgegeven aan de methode. Binnen de methode
addSongsToPlaylist()
kunt u een lus gebruiken om de elementen van de array (de nummers) één voor één te doorlopen en ze concreet aan de afspeellijst toe te voegen.
Het meest voorkomende type ActionScript-array is een
geïndexeerde array
. In een geïndexeerde array wordt elk item opgeslagen in een genummerd vak (de
index
genaamd). Items kunnen middels dat nummer worden benaderd, net als een adres. Een geïndexeerde array is voor de meeste programmeerbehoeften een prima oplossing. De klasse Array is een veelvoorkomende klasse die wordt gebruikt om een geïndexeerde klasse voor te stellen.
Een geïndexeerde array wordt dikwijls gebruikt om meerdere items van hetzelfde type op te slaan (objecten die instanties zijn van dezelfde klasse). De klasse Array is niet bedoeld om het type items dat deze bevat, te beperken. De klasse Vector is een type geïndexeerde array waarin alle items in één enkele array van hetzelfde type zijn. Het gebruik van een Vector-instantie in plaats van een Array-instantie biedt prestatieverbeteringen en andere voordelen. De klasse Vector is beschikbaar vanaf Flash Player 10 en Adobe AIR 1.5.
Een speciale toepassing van een geïndexeerde array is een
multidimensionale array
. Een multidimensionale array is een geïndexeerde array waarvan de elementen geïndexeerde arrays zijn (die zelf weer andere elementen bevatten).
Een ander type array is een
associatieve array
, waarin een
sleutel
reeks in plaats van een numerieke index wordt gebruikt om de verschillende elementen te identificeren. Tot slot bevat ActionScript 3.0 ook nog de klasse Dictionary, die een
woordenboek
voorstelt. Een woordenboek is een array waarbij u een willekeurig type object als sleutel kunt gebruiken om de verschillende elementen van elkaar te onderscheiden.
Belangrijke concepten en termen
De volgende referentielijst bevat belangrijke termen die u tegenkomt bij het programmeren van array- en vectorafhandelingsroutines.
-
Array
-
een object dat fungeert als container waarin meerdere objecten worden samengebracht.
-
Arraytoegangoperator ([])
-
Een paar vierkante haakjes rond een index of toets die een array-element aangeven. Deze syntaxis wordt achter de naam van een arrayvariabele gebruikt als u een enkel element van de array in plaats van de hele array wilt opgeven.
-
Associërende array
-
Een array die tekenreekstoetsen gebruikt om individuele elementen aangeeft.
-
Basistype
-
Het gegevenstype van objecten dat in een vectorinstantie mag worden opgeslagen.
-
Woordenboek
-
Een array waarvan de items bestaan uit objectparen, die uit een key en een waarde bestaan. Voor de identificatie van een afzonderlijk element wordt de sleutel gebruikt in plaats van een numerieke index.
-
Element
-
een afzonderlijk item in een array.
-
Index
-
het numerieke 'adres' dat wordt gebruikt voor de identificatie van een afzonderlijk element in een geïndexeerde array.
-
Geïndexeerde array
-
Het standaardtype array dat elk element in een genummerde locatie opslaat en dat het nummer (index) gebruikt om individuele elementen te identificeren.
-
Key
-
De tekenreeks of het object dat wordt gebruikt om één element in een geassocieerde array of in een woordenboek te identificeren.
-
Multidimensionale array
-
Een array bevat items die arrays zijn in plaats van enkele waarden.
-
T
-
De standaardconventie die in deze documentatie wordt gebruikt om het basistype van een Vectorinstantie weer te geven, bij elk basistype. De T-conventie wordt gebruikt om de naam van een klasse weer te geven, zoals in de beschrijving van de parameter Type wordt weergegeven. (“T” betekent "type", in dit geval "gegevenstype.").
-
Type parameter
-
De syntaxis die wordt gebruikt met de klassennaam Vector om het basistype van de Vector aan te geven (het gegevenstype van de objecten die erin worden opgeslagen). De syntaxis bestaat uit een punt (
.
), gevolgd door de naam van het gegevenstype tussen vierkante haken (
<>
). Bij elkaar ziet het er als volgt uit:
Vector.<T>
. In deze documentatie wordt de klasse die in de parameter Type wordt opgegeven, gewoonlijk voorgesteld als
T
.
-
Vector
-
een type array waarvan de elementen allemaal instanties van hetzelfde gegevenstype zijn.