Array ()

Een array is een geordende lijst met waarden die doorgaans is gemaakt met de bedoeling om numeriek geïndexeerde waarden door te lussen, te beginnen met de index nul. Wat u moet weten, is dat arrays numeriek geordende sets zijn, in tegenstelling tot objecten waarvan de eigenschapnamen zijn gekoppeld aan waarden in niet-numerieke volgorde. Matrixen gebruiken in feite getallen als opzoekcode, terwijl objecten door de gebruiker gedefinieerde eigenschapnamen hebben. JavaScript heeft geen echte associatieve arrays, maar objecten kunnen worden gebruikt om de functionaliteit van associatieve arrays te bereiken.

In het volgende voorbeeld bewaar ik vier strings in myArray waar ik toegang tot heb met behulp van een numerieke index. Ik vergelijk en contrasteer myArray naar een object dat letterlijk een associatieve array nabootst.

Voorbeeld: sample133.html

 

Arrays kunnen elk type waarden bevatten en deze waarden kunnen op elk moment worden bijgewerkt of verwijderd.

Als u een hash (ook wel associatieve array) nodig heeft, is een object de oplossing die het dichtst in de buurt komt.

Een Array () is gewoon een speciaal type Voorwerp(). Dat is, Array () gevallen zijn in principe Voorwerp() instanties met een aantal extra functies (.lengte en een ingebouwde numerieke index).

Waarden die zich in een array bevinden, worden gewoonlijk elementen genoemd.


Array () parameters

U kunt de waarden van een array-instantie doorgeven aan de constructor als door komma's gescheiden parameters (nieuwe Array ('foo', 'bar');). De Array () constructor kan tot 4.294.967.295 parameters uitvoeren.

Als echter slechts één parameter wordt verzonden naar de Array () constructor en die waarde is een geheel getal ('1', '123' of '1.0'), het zal worden gebruikt om de lengte van de array, en zal niet worden gebruikt als een waarde in de array.

Voorbeeld: sample134.html

 

Array () Eigenschappen en methoden

De Array () object heeft de volgende eigenschappen (exclusief overgenomen eigenschappen en methoden):

Eigenschappen (Array.prototype):

  • prototype

Array Object Instance-eigenschappen en -methoden

Objecten van matrixobjecten hebben de volgende eigenschappen en methoden (exclusief overgenomen eigenschappen en methoden):

Instance-eigenschappen (var myArray = ['foo', 'bar']; myArray.length;):

  • bouwer
  • lengte

Exemplaarmethoden (var myArray = ['foo']; myArray.pop ();):

  • knal()
  • Duwen()
  • omgekeerde()
  • verschuiving()
  • soort()
  • splice ()
  • unshift ()
  • concat ()
  • join ()
  • plak()

Arrays maken

Net als de meeste objecten in JavaScript, kan een array-object worden gemaakt met behulp van de nieuwe operator in combinatie met de Array () constructor, of door de letterlijke syntaxis te gebruiken.

In het volgende voorbeeld maak ik de myArray1 array met vooraf gedefinieerde waarden met behulp van de Array () constructor en dan myArray2 met behulp van letterlijke notatie.

Voorbeeld: sample135.html

 

Het komt vaker voor dat een array wordt gedefinieerd met behulp van de letterlijke syntaxis, maar er moet worden opgemerkt dat deze snelkoppeling slechts het gebruik van de Array () bouwer.

In de praktijk is de array letterlijk meestal alles wat u ooit nodig zult hebben.

Ongeacht hoe een array wordt gedefinieerd, als u geen voorgedefinieerde waarden aan de array opgeeft, wordt deze nog steeds gemaakt maar bevat deze eenvoudigweg geen waarden.


Waarden toevoegen en actualiseren in arrays

Een waarde kan op elk willekeurig moment aan een willekeurige index worden toegevoegd. In het volgende voorbeeld voegen we een waarde toe aan de numerieke index 50 van een lege array. Hoe zit het met alle indexen voor 50? Nou, zoals ik al zei, je kunt op elk moment een waarde toevoegen aan een array op elke index. Maar als u een waarde toevoegt aan de numerieke index 50 van een lege array, vult JavaScript alle benodigde indexen in voordat het met onbepaald waarden.

Voorbeeld: sample136.html

 

Gezien de dynamische aard van JavaScript en het feit dat JavaScript niet sterk getypt is, kan een arraywaarde op elk moment worden bijgewerkt en kan de waarde in de index elke juridische waarde hebben. In het volgende voorbeeld verander ik de waarde op de numerieke index 50 in een object.

Voorbeeld: sample137.html

 

Lengte versus index

Een array begint waarden bij nul te indexeren. Dit betekent dat het eerste numerieke slot om een ​​waarde in een array te houden eruit ziet myArray [0]. Dit kan een beetje verwarrend zijn als ik een array maak met een enkele waarde, de index van de waarde is 0 terwijl de lengte van de array 1 is. Zorg ervoor dat u begrijpt dat de lengte van een array het aantal waarden in de array vertegenwoordigt , terwijl de numerieke index van de array op nul begint.

In het volgende voorbeeld de tekenreekswaarde blauw is opgenomen in de myArray array op de numerieke index 0, maar omdat de array één waarde bevat, is de array 1.

Voorbeeld: sample138.html

 

Arrays definiëren met een vooraf gedefinieerde lengte

Zoals ik eerder al zei, door een enkele integer parameter door te geven aan de Array () constructor, het is mogelijk om de lengte van de array of het aantal waarden dat deze zal bevatten vooraf te definiëren. In dit geval maakt de constructor een uitzondering en wordt ervan uitgegaan dat u de lengte van de array wilt instellen en niet de array vooraf wilt vullen met waarden.

In de volgende steekproef hebben we de myArray array met een vooraf gedefinieerde lengte van 3. Nogmaals, we zijn de lengte van de array aan het configureren, niet doorgeven van een waarde die moet worden opgeslagen op de 0 index.

Voorbeeld: sample139.html

 

Een voorgedefinieerd aanbieden lengte geeft elke numerieke index, tot de opgegeven lengte, een bijbehorende waarde van onbepaald.

U vraagt ​​zich misschien af ​​of het mogelijk is om een ​​vooraf gedefinieerde array te maken die slechts één numerieke waarde bevat. Ja, het is door de letterlijke vorm te gebruiken var myArray = [4].


Instellen van de arraylengte kan waarden toevoegen of verwijderen

De lengte eigenschap van een array-object kan worden gebruikt om de lengte van een array op te halen of in te stellen. Zoals eerder is weergegeven, wordt de lengte groter dan het werkelijke aantal waarden in de array toegevoegd onbepaald waarden voor de array. Wat u misschien niet verwacht, is dat u waarden uit een array feitelijk kunt verwijderen door de lengtewaarde in te stellen op een getal dat kleiner is dan het aantal waarden in de array..

Voorbeeld: sample140.html

 

Arrays met andere arrays (ook bekend als multidimensionale arrays)

Aangezien een array elke geldige JavaScript-waarde kan bevatten, kan een array andere arrays bevatten. Wanneer dit is gebeurd, wordt de array met ingekapselde arrays als een multidimensionale array beschouwd. Toegang tot ingekapselde arrays wordt gedaan door middel van bracket-koppeling. In het volgende voorbeeld maken we een array-lettertype dat een array bevat, van waaruit we een andere array letterlijk maken, van waaruit we een andere array letterlijk maken, die een stringwaarde op de 0-index bevat.

Voorbeeld: sample141.html

 

Dit codevoorbeeld is nogal gek, maar je krijgt het idee dat arrays andere arrays kunnen bevatten en je onbeperkte toegang hebt tot ingekapselde arrays.


Looping over een array, achteruit en vooruit

De eenvoudigste en misschien wel de snelste manier om over een array te loopen, is door de while-lus te gebruiken.

In de volgende code lus van het begin van de index tot het einde.

Voorbeeld: sample142.html

 

En nu lopen we van het einde van de index naar het begin.

Voorbeeld: sample143.html

 

Conclusie

Nu, als je je afvraagt ​​waarom ik hier niet voor loops zie, komt dat omdat while-loops minder bewegende delen bevatten en ik geloof dat ze makkelijker te lezen zijn.

En dat completeert dit artikel over arrays.