In TypeScript, wie auch in JavaScript, sind Arrays eine Möglichkeit,
mehrere Werte in einer einzigen Variablen zu speichern. Sie können
Elemente eines beliebigen Typs enthalten und werden durch die Verwendung
von eckigen Klammern [] oder dem Array-Typkonstruktor
definiert.
Ein Array in TypeScript wird auf die gleiche Weise erstellt wie in JavaScript, aber Sie können auch einen Typ angeben. Es gibt zwei Möglichkeiten, dies zu tun:
[] an den Typ der Elemente:let names: string[] = ['Alice', 'Bob', 'Charlie'];Array<elementType>:let names: Array<string> = ['Alice', 'Bob', 'Charlie'];Auf Elemente in einem Array kann zugegriffen werden, indem der Index des Elements in eckigen Klammern nach dem Array-Namen angegeben wird. Die Indizierung beginnt bei 0.
let names: string[] = ['Alice', 'Bob', 'Charlie'];
console.log(names[0]); // Gibt 'Alice' ausTypeScript-Arrays verfügen über eine Vielzahl von Methoden, die das Arbeiten mit Arrays erleichtern. Einige Beispiele sind:
push(): Fügt Elemente am Ende des Arrays hinzu.pop(): Entfernt das letzte Element aus dem Array und
gibt es zurück.shift(): Entfernt das erste Element aus dem Array und
gibt es zurück.unshift(): Fügt Elemente an den Anfang des Arrays
hinzu.slice(): Gibt eine Kopie eines Teils des Arrays
zurück.splice(): Ändert den Inhalt eines Arrays, indem es
bestehende Elemente entfernt und/oder neue hinzufügt.map(), filter(), reduce():
Diese Methoden sind extrem nützlich für die Verarbeitung von
Arrays.let names: string[] = ['Alice', 'Bob', 'Charlie'];
names.push('Dave');
// Gibt ['Alice', 'Bob', 'Charlie', 'Dave'] aus
console.log(names);
let lastName: string = names.pop();
console.log(lastName); // Gibt 'Dave' aus
console.log(names); // Gibt ['Alice', 'Bob', 'Charlie'] ausTypeScript unterstützt auch mehrdimensionale Arrays, oder “Arrays von Arrays”. Sie können auf die gleiche Weise wie eindimensionale Arrays erstellt und manipuliert werden, mit zusätzlichen eckigen Klammern für jede zusätzliche Dimension:
let matrix: number[][] = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
console.log(matrix[0][0]); // Gibt 1 ausDurch die Verwendung von Arrays können Sie komplexere Datenstrukturen und -algorithmen in Ihrem TypeScript-Code erstellen.
Aufgabe 1: Erstellen Sie ein Array von Zahlen und führen Sie die folgenden Operationen durch: fügen Sie Elemente hinzu, entfernen Sie Elemente, greifen Sie auf Elemente zu und ändern Sie Elemente.
Aufgabe 2: Erstellen Sie ein zweidimensionales Array, das Zeichenketten enthält. Geben Sie das Element in der zweiten Zeile und der dritten Spalte aus.
Aufgabe 3: Erstellen Sie eine Funktion, die ein Array von Zahlen als Parameter akzeptiert und die Summe der Elemente in diesem Array zurückgibt.
Aufgabe 4: Erstellen Sie eine Funktion, die ein Array von Zeichenketten akzeptiert und eine einzige Zeichenkette zurückgibt, die alle Elemente des Arrays enthält, getrennt durch Kommas.
Aufgabe 5: Erstellen Sie eine Funktion, die ein Array von Zahlen akzeptiert und ein neues Array zurückgibt, das nur die geraden Zahlen aus dem ursprünglichen Array enthält.
Aufgabe 6: Erstellen Sie eine Funktion, die zwei Arrays als Parameter akzeptiert und ein neues Array zurückgibt, das die Elemente beider Arrays enthält.
Aufgabe 7: Erstellen Sie ein Array von Objekten,
wobei jedes Objekt eine id und einen name hat.
Durchlaufen Sie das Array und geben Sie für jedes Objekt eine Nachricht
aus, die id und name enthält.
Aufgabe 8: Erstellen Sie eine Funktion, die ein Array von Zahlen als Parameter akzeptiert und das größte Element in diesem Array zurückgibt.
Lösung 1:
let array: number[] = [1, 2, 3];
array.push(4); // Fügt 4 am Ende hinzu
array.unshift(0); // Fügt 0 am Anfang hinzu
console.log(array[2]); // Zugriff auf das Element am Index 2
array[2] = 5; // Ändert das Element am Index 2Lösung 2:
let array: string[][] = [["a", "b", "c"], ["d", "e", "f"], ["g", "h", "i"]];
console.log(array[1][2]); // Gibt "f" ausLösung 3:
function sumArray(numbers: number[]): number {
return numbers.reduce((prev, curr) => prev + curr, 0);
}Lösung 4:
function concatenateStrings(strings: string[]): string {
return strings.join(",");
}Lösung 5:
function filterEvenNumbers(numbers: number[]): number[] {
return numbers.filter(num => num % 2 === 0);
}Lösung 6:
function concatenateArrays<T>(array1: T[], array2: T[]): T[] {
return [...array1, ...array2];
}Lösung 7:
interface Item {
id: number;
name: string;
}
let items: Item[] = [{id: 1, name: "item1"}, {id: 2, name: "item2"}];
items.forEach(item => {
console.log(`ID: ${item.id}, Name: ${item.name}`);
});Lösung 8:
function findMax(numbers: number[]): number {
return Math.max(...numbers);
}