info@a-coding-project.de

JavaScript: Arrays im Überblick

Ein Array ist ein Datenfeld. Datenfelder sind - wie der Name schon sagt - Ansammlungen von Daten. So kann einer Variablen mehrere (genauer gesagt bis zu 4 Mrd.) Werte in einem strukturierten Feld zugewiesen werden.

Eigenschaften

JavaScript 1.1 JScript 2.0 constructor

Die constructor-Eigenschaft gibt die Funktion an, die das Objekt erstellt hat (also Array()).
Notation: Objekt.constructor

a = new Array('Text 1','Text 2','Text 3');
if( a.constructor.toString().search('Array') != -1 )
{ alert('Variable a ist ein Array!'); }

JavaScript 1.1 JScript 2.0 length

Die length-Eigenschaft gibt die Anzahl der Felder eines Arrays an.
Notation: Objekt.length

a = '';
for(i=0; i<meinArray.length; i++ )
{ a += 'n'+meinArray[i]; }
alert(a);

Weitere Informationen zum Thema array.length

JavaScript 1.1 JScript 2.0 prototype

Die prototype-Eigenschaft gibt eine Referenz auf die eigentliche Objektklasse wieder.
Notation: Objekt.prototype

Array.prototype.x = 1;
a = new Array('a','b','c');
alert(a.x);

Methoden  nach oben

JavaScript 1.2 JScript 3.0 concat

Die concat-Methode bindet Objekte an das Array an und gibt ein neues Array, bestehend aus den neu zusammengesetzten Objekten, zurück.
Notation: Objekt1.concat(Objekt2[,...ObjektN])

a = new Array('a','b','c');
b = new Array('d','e','f');
c = a.concat(b, 'g', 'h'); // = a,b,c,d,e,f,g,h

JavaScript 1.1 JScript 3.0 join

Die join-Methode verkettet die Felder eines Arrays zu einem String. Der dazu erwartete Parameter bestimmt, durch welches Trennzeichen die Felder miteinander verbunden werden sollen.
Notation: Objekt.join(Trennzeichen)

a = new Array('a','b','c');
b = a.join(' - '); // = 'a - b - c'

JavaScript 1.2 JScript 5.5 pop

Die pop-Methode entfernt das letzte Feld eines Arrays und gibt es als Rückgabewert wieder.
Notation: Objekt.pop()

a = new Array('a','b','c');
b = a.pop(); // b = 'c' und a = 'a','b'

JavaScript 1.2 JScript 5.5 push

Die push-Methode fügt an ein Array weitere Objekte an und gibt die Länge der Quellarrays wieder.
Notation: Objekt1.push(Objekt2[,...ObjektN])

a = new Array('a','b','c');
b = new Array('d','e','f');
c = a.push(b, 'g', 'h'); //c == 6 und a == a,b,c,d,e,f,g,h

Weitere Informationen zur Push-Methode

JavaScript 1.1 JScript 3.0 reverse

Die reverse-Methode kehrt die Reihenfolge der Felder eines Arrays um. Das erste Feld ist dann das letzte Feld (und umgekehrt) das zweite Feld ist das zweite von hinten (und umgekehrt) usw. .
Notation: Objekt.reverse()

a = new Array('a','b','c');
b = a.reverse(); // = c,b,a

JavaScript 1.2 JScript 5.5 shift

Die shift-Methode ist ähnlich der pop-Methode. Sie entfernt das erste Feld eines Arrays und gibt es zurück.
Notation: Objekt.shift()

a = new Array('a','b','c');
b = a.shift(); // b == 'a' und a == b,c

JavaScript 1.2 JScript 3.0 slice

Die slice-Methode gibt einen bestimmten Abschnitt an Feldern zurück. Dieser Abschnitt wird durch zwei Parameter definiert, die übergeben werden müssen. Der erste Parameter ist eine Zahl, die den Index des ersten Feldes angibt, ab dem der Abschnitt beginnen soll. Wird hierfür eine negative Zahl übergeben, so wird vom Ende des Arrays rückwärts gezählt, ansonsten von vorn. Der zweite Parameter ist optional. Wird er nicht angegeben, wird der Abschnitt automatisch bis zum Ende des Arrays definiert. Wird der zweite Parameter angegeben, so definiert dieser, den Index des Feldes, vor dem der Abschnitt enden soll. Das definierte Feld gehört dann nicht mehr zum Abschnitt. Wird für den zweiten Parameter eine negative Zahl übergeben, so wird vom Ende des Arrays rückwärts gezählt, ansonsten von vorn.
Notation: Objekt.slice(Anfang[,Ende])

a = new Array('1','2','3','4','5','6','7');
b = a.slice(2); // = 3,4,5,6,7
c = a.slice(2,4); // = 3,4
d = a.slice(-3); // = 5,6,7
e = a.slice(-5,-2); // = 3,4,5

JavaScript 1.1 JScript 3.0 sort

Die sort-Methode sortiert ein Array und gibt es zurück. Dabei werden die Felder nach den Inhalten und der ASCII-Zeichen Reihenfolge sortiert (Vorsicht bei Zahlen: 11 kommt dabei vor 3.). Zusätzlich kann als Parameter eine Funktion übergeben werden. Die Funktion muss mit zwei Parametern aufrufbar sein. Ihr werden, beim Sortiervorgang, jeweils zwei zu vergleichende Werte übergeben. Die Funktion sollte diese dann auswerten und ein Zahl als Wiedergabewert liefern. Die Zahlen haben dann folgende Bedeutungen:

  • negative Zahl - der erste an die Funktion übergebene Parameter ist kleiner
  • 0 (Null) - beide Parameter sind gleich groß
  • positive Zahl - der zweite an die Funktion übergebene Parameter ist kleiner

Notation: Objekt.sort([Funktion])

function compareNum(val_a,val_b)
{
 if(isNaN(val_a) == false && isNaN(val_b) == false)
 {res = val_a - val_b;}
 else if(val_a < val_b){res = -1}
 else if(val_b < val_a){res = 1}
 else {res = 0}
 return(res)
}

a = new Array('a','889','b','1111','c','9');
b = a.sort(); // = 1111,889,9,a,b,c
c = a.sort(compareNum); // = 9,889,1111,a,b,c

JavaScript 1.2 JScript 5.5 splice

Die splice-Methode entfernt Felder aus einem Array und setzt ggf. statt dessen neue Felder ein. Die entfernten Felder werden zurück gegeben. Dazu werden zwei Parameter erwartet. Parameter 1 gibt den Startindex des Feldes an, ab dem entfernt werden soll. Parameter 2 gibt die Anzahl der Felder die entfernt werden sollen. Zusätzlich kann ein dritter Parameter notiert werden. Dieser enthält ein Array, welches an der Stelle der entfernten Felder eingefügt werden soll.
Notation: Objekt1.splice(Anfang, Anzahl[,Objekt2])

a = new Array('1','2','3','4','5','6');
b = new Array('x','y','z');
c = a.splice(2,2); // c == 3,4 und a == 1,2,5,6
d = a.splice(2,0,b); //d == '' und a == 1,2,x,y,z,5,6

JavaScript 1.3 toSource

Die toSource-Methode gibt einen String wieder, der den Sourcecode (Grundcode) des Arrays repräsentiert.
Notation: Objekt.toSource()

a = new Array('a', 'b', 'c');
b = a.toSource() // = ['a', 'b', 'c']

JavaScript 1.1 JScript 3.0 toString

Die toString-Methode wandelt das Array in einen String um.
Notation: Objekt.toString()

a = new Array('a','b','c');
b = a.toString(); // = 'a,b,c'

JavaScript 1.2 JScript 5.5 unshift

Die unshift-Methode fügt Objekte am Anfang eines Arrays ein. Als Parameter kann dazu ein oder mehrere Objekt(e) übergeben werden.
Notation: Objekt1.unshift(Objekt2[,...ObjektN])

a = new Array(1,2,3);
a.unshift('x','y','z'); // = x,y,z,1,2,3

JavaScript 1.1 JScript 2.0 valueOf

Die valueOf-Methode gibt den Wert des Arrays wieder. Dies entspricht allgemein der toString-Methode.
Notation: Objekt.valueOf()

a = new Array('a','b','c');
b = a.valueOf(); // = 'a,b,c'

Arrays durchlaufen

In JavaScript bietet auch eine Möglichkeit Arrays mit einer foreach-Schleife zu durchlaufen. Mehr dazu: JavaScript Foreach

Testen, ob ein Element im Array vorhanden ist

Manchmal ist es nötig zu schauen, ob ein Element in einem Array vorkommt. Dafür gibt es verschiedene Lösungsansetze. Am einfachsten ist es, dass über indexof zu machen.

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Auch interessant