Arrays splitsen en samenvoegen
Één van de datastructuren in JavaScript is de Array. Dat is een lijst met gegevens met een naam en een index. Anders dan de meeste andere programmeer- en scripttalen mag elk element in de lijst van een ander type zijn. Het ene element kan een string zijn, het volgende een getal (Number-object), dan weer een Image-object, enzovoort.
De array is dus heel veelzijdig. Het is daarom handig om te weten wat je allemaal met arrays kunt doen. Dat is veel meer dan je zou verwachten.
Op deze bladzijde wordt besproken hoe je een array kunt splitsen en hoe je twee arrays kun samenvoegen
- Methods voor het beheren van arrays
- Met de method slice() kopieer je een deel van een array in een nieuwe. Daarvoor heeft slice() twee parameters:
- index_eerste. Dit is de index van het eerste te kopiëren element.
- tot_aan_index. Dit is de index van het element dat NIET meer wordt gekopieerd.
- Een voorbeeld:
var abcd = ["Opel","BMW","Renault","Citroen","Peugeot","Audi"];
var Frans= abcd.slice(2,5);
De array Frans bevat nu: "Renault","Citroen","Peugeot". De array abcd is ongewijzigd gebleven.
- Er is in JavaScript geen methode beschikbaar die een array in twee delen spitst. Dat kun je wel bereiken door de method slice() slim te gebruiken. Eerst kopieer je de eerste helft van de array, daarna de tweede.
- Een voorbeeld
var abcd = ["Opel","BMW","Audi","Renault","Citroen","Peugeot"];
var Duits = abcd.slice(0,3);
var Frans = abcd.slice(3,abcd.length);
De array Duits bevat nu de eerste drie elementen van de array abcd: "Opel","BMW","Audi".
De array Frans bevat de rest: "Renault","Citroen","Peugeot". De array abcd is ongewijzigd gebleven.
- Als je twee of meer arrays wilt samenvoegen tot één array, gebruik je de method concat(). Daarvoor
heeft concat() minstens één parameter:
- array_1. Deze parameter is verplicht. Het is de naam van eerste array.
- array_2. Deze parameter is optioneel. Het is de naam van tweede array.
- array_3, array_4, enz. Deze parameters zijn optioneel. Het zijn de namen van de derde, vierde, etc. arrays.
- De oorspronkelijke arrays blijven ongewijzigd. concat() maakt nl. een nieuwe array aan.
- Een voorbeeld:
var Duits = ["Opel","BMW","Audi"];
var Frans = ["Renault","Citroen","Peugeot"];
var abcd = Frans.concat(Duits); - De method concat() kopieert eerst de array Frans naar de nieuwe array abcd. Vervolgens wordt de inhoud van de array Duits er achteraan geplakt.
- De array abcd is nu: "Renault","Citroen","Peugeot","Opel","BMW","Audi"
- De arrays Frans en Duits zijn ongewijzigd gebleven.
Tenslotte:
Het bovenstaande is maar een deel van wat je met arrays kunt doen. Het item Werken met Arrays
bevat links naar pagina's waar meer informatie te vinden is.