PMG2224 1/Felder
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Javascript</language>
== Der Datentyp Feld (Array) ==
<font color = grey>Diese Beispiele sind z.T. dem ''Brückenkurs Webapps der HS Zittau/Görlitz entnommen.''</font>
<code id="6474920c2ca0a" hidden>
function print(array){
for(var i=0; i<array.length; i++){
console.log(array[i]);
}
}
</code>
Ein Array ist eine Liste, die mehrere Elemente enthalten kann.
===Arrays erzeugen===
Folgendes Beispiel zeigt, wie ein Array mit 10 Elementen erzeugt und der Variable "werte" zugewiesen wird:
<code id="6474920c2ca73">
var werte = [5, 6, 19, 20, 10, 11, 5, 0, 1, -6];
</code>
<run id="6474920c2cfb6">print(werte)</run>
'''Hinweis:''' Die Funktion "print" können Sie verwenden, um sich alle Elemente des Arrays anzeigen zu lassen!
Sie ist wie folgt definiert:
function print(array){
for(var i=0; i<array.length; i++){
console.log(array[i]);
}
}
'''Für Arrays gilt also:'''
* Sie werden durch eckige Klammern [] gekennzeichnet.
* Die Elemente des Arrays werden durch Komma getrennt.
Wir können auch Einträge an die ''einzelnen Positionen'' eines Arrays schreiben.
Die Variable "werte" wird jetzt als leeres Array initialisiert. Anschließend werden die ersten 10 Positionen des Arrays befüllt:
<code id="6474920c2cacd">
var werte = [];
werte[0] = 5;
werte[1] = 6;
werte[2] = 19;
werte[3] = 20;
werte[4] = 10;
werte[5] = 11;
werte[6] = 5;
werte[7] = 0;
werte[8] = 1;
werte[9] = -6;
</code>
<run id="6474920c2d022">print(werte)</run>
Die Position, an der etwas in das Array geschrieben werden soll, muss also in eckigen Klammern nach dem Arraynamen angegeben werden. '''Beachten Sie, dass die erste Position eines Arrays immer 0 ist!'''
Die Position wird allgemein als ''$index$'' bezeichnet, Variable $i$
Arrays können auch mit for-Schleifen befüllt werden.
'''Beispiel'''
<code id="6474920c2cb2a">
var array = [];
for(var i=0; i<10; i++){
array[i] = "Test";
}
</code>
<run id="6474920c2d087">print(array);
</run>
'''Aufgaben'''
Schreiben Sie an die 2. Position des Arrays (also dort wo die 7 steht) den Wert 100!
<code id="6474920c2cba4">
var werte = [5, 7, 10, 8, 11, 6];
</code>
<run id="6474920c2d0ea">
print(werte);
</run>
Legen Sie ein leeres Array an. Verwenden Sie eine for-Schleife und befüllen Sie das Array mit den Einträgen
0
1
2
...
9
<code id="6474920c2cc13">
</code>
<run id="6474920c2d14e">
</run>
==Arrays auslesen==
Gegeben ist ein Array mit 10 Elementen. Das erste Element (''index'' 0) soll ausgelesen und auf der Konsole ausgegeben werden:
<code id="6474920c2cc85">
var array = [3,4,6,7,8,1,4,5,5,1];
var wert = array[0];
</code>
<run id="6474920c2d1a9">
console.log(wert);
</run>
Um den Wert eines Arrays an einer bestimmten Position auszulesen, muss die Position in eckigen Klammern hinter dem Arraynamen angegeben werden.
Im oberen Beispiel können wir statt 0 auch die Positionen 1 bis 9 angeben. Probieren Sie das aus!
Der Zugriff auf Positionen < 0 ist immer ungültig. Außerdem ist bei dem oben gezeigten Array der Zugriff auf alle Positionen > 9 ungültig.
'''Bei einem Array mit der Länge l darf nur auf die Positionen 0 bis l-1 zugegriffen werden.'''
Woher wissen wir, wie lang ein Array ist? Nachzählen ist in der Praxis nicht möglich. Daher ermitteln wir die Länge mit der Eigenschaft '''.length''':
<code id="6474920c2ccf5">
var array = [3,4,6,7,8,1,4,5,5,1];
var l = array.length;
</code>
<run id="6474920c2d208">
console.log(l);
</run>
'''Beispiel:''' Schreiben Sie das erste und das letzte Element des Arrays auf die Konsole:
<code id="6474920c2cd63">
var array = [3,4,6,7,8,1,4,5,5,1,5,6,78,12,34];
var l = array.length;
var first = array[0];
var last = array[l-1];
</code>
<run id="6474920c2d26a">
console.log(first);
console.log(last);
</run>
Nun lassen sich auch for-Schleifen zum Durchlaufen eines Arrays formulieren. In diesem Beispiel sollen alle Elemente des Arrays nacheinander auf die Konsole geschrieben werden:
<code id="6474920c2cdbd">
var array= [1,2,3,4,5];
</code>
<run id="6474920c2d2ce">
for(var i=0; i<array.length; i++){
var wert = array[i];
console.log(wert);
}
</run>
Oben sehen Sie, dass die Eigenschaft '''length''' als Obergrenze in der for-Schleife verwendet wird.
'''Aufgaben'''
Schreiben Sie das vierte Element (''index'' 3) auf die Konsole:
<code id="6474920c2ce10">
var array = [1,2,3,4,5,6,7,99];
</code>
<run id="6474920c2d32f">
</run>
Schreiben Sie das letzte Element auf die Konsole:
<code id="6474920c2ce6f">
var array = [1,2,3,4,5,6,7,99];
</code>
<run id="6474920c2d397">
</run>
Schreiben Sie das erste Element von ''array1'' an die erste Postion (''index'' 0) von ''array2''. Geben Sie anschließend alle Elemente von array2 auf der Konsole aus.
<code id="6474920c2ced9">
var array1 = [5,6,7,8,9,1,2,3,4,5,6,7,8,4,5];
var array2 = [];
</code>
<run id="6474920c2d3f9">
</run>
Verwenden Sie eine for-Schleife, um alle Elemente des Arrays um 1 zu erhöhen. Geben Sie anschließend alle Elemente von array auf der Konsole aus.
<code id="6474920c2cf22">
var array = [5,6,7,8,9,1,2,3,4,5,6,7,8,4,5];
</code>
<run id="6474920c2d45f">
</run>