This commit is contained in:
miqlangelo 2025-05-05 14:46:50 +02:00
parent 55fe2ce916
commit 0fba708d7a
2 changed files with 146 additions and 0 deletions

View File

@ -0,0 +1,77 @@
// 1. Arrays: Implementiere die folgenden Funktionen
export function squareNumbers(numbers: number[]): number[] {
return numbers.map((num) => num * num);
}
export function filterEvenNumbers(numbers: number[]): number[] {
return numbers.filter((num) => num % 2 === 0);
}
export function sumNumbers(numbers: number[]): number {
return numbers.reduce((acc, num) => acc + num, 0);
}
export function findFirstGreaterThan(
numbers: number[],
limit: number
): number | undefined {
return numbers.find((num) => num > limit);
}
export function sortNumbersDescending(numbers: number[]): number[] {
return [...numbers].sort((a, b) => b - a);
}
export function sliceNumbers(
numbers: number[],
start: number,
end: number
): number[] {
return numbers.slice(start, end);
}
export function modifyArray(
numbers: number[],
index: number,
newValue: number
): number[] {
const modified = [...numbers];
modified.splice(index, 1, newValue);
return modified;
}
// 2. Maps: Implementiere die folgenden Funktionen
export function createUserMap(): Map<number, string> {
return new Map([
[1, 'Alice'],
[2, 'Bob'],
]);
}
export function getUserById(
users: Map<number, string>,
id: number
): string | undefined {
return users.get(id);
}
export function getAllUserIds(users: Map<number, string>): number[] {
return Array.from(users.keys());
}
export function getAllUserNames(users: Map<number, string>): string[] {
return Array.from(users.values());
}
// 3. Sets: Implementiere die folgenden Funktionen
export function createUniqueNumberSet(numbers: number[]): Set<number> {
return new Set(numbers);
}
export function isNumberInSet(set: Set<number>, value: number): boolean {
return set.has(value);
}
export function convertSetToArray(set: Set<number>): number[] {
return Array.from(set);
}

View File

@ -0,0 +1,69 @@
// 1. Arrays verarbeiten
const numbers = [1, 2, 3, 4, 5];
// Map: Elemente quadrieren
const squared = numbers.map((num) => num * num);
console.log(squared); // [1, 4, 9, 16, 25]
// Filter: Nur gerade Zahlen behalten
const evens = numbers.filter((num) => num % 2 === 0);
console.log(evens); // [2, 4]
// Reduce: Alle Werte summieren
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 15
// Includes: Prüfen, ob ein Wert enthalten ist
console.log(numbers.includes(3)); // true
// Find: Erstes Element, das einer Bedingung entspricht
const found = numbers.find((num) => num > 3);
console.log(found); // 4
// Some: Prüfen, ob mindestens ein Element die Bedingung erfüllt
const hasEven = numbers.some((num) => num % 2 === 0);
console.log(hasEven); // true
// Every: Prüfen, ob alle Elemente die Bedingung erfüllen
const allPositive = numbers.every((num) => num > 0);
console.log(allPositive); // true
// Sort: Array sortieren
const sortedNumbers = [...numbers].sort((a, b) => b - a);
console.log(sortedNumbers); // [5, 4, 3, 2, 1]
// Slice: Ein Teil des Arrays extrahieren
const sliced = numbers.slice(1, 3);
console.log(sliced); // [2, 3]
// Splice: Elemente aus dem Array entfernen oder ersetzen
const modifiedNumbers = [...numbers];
modifiedNumbers.splice(2, 1, 99); // Entfernt das dritte Element und fügt 99 ein
console.log(modifiedNumbers); // [1, 2, 99, 4, 5]
// 2. Maps verarbeiten
const userMap = new Map<number, string>();
userMap.set(1, 'Alice');
userMap.set(2, 'Bob');
// Alle Einträge ausgeben
userMap.forEach((name, id) => console.log(`${id}: ${name}`));
// Alle Schlüssel als Array speichern
const ids = Array.from(userMap.keys());
console.log(ids); // [1, 2]
// Alle Werte als Array speichern
const names = Array.from(userMap.values());
console.log(names); // ["Alice", "Bob"]
// 3. Sets verarbeiten
const uniqueNumbers = new Set([1, 2, 3, 4, 5, 2, 3]);
console.log(uniqueNumbers); // Set(5) {1, 2, 3, 4, 5}
// Prüfen, ob eine Zahl existiert
console.log(uniqueNumbers.has(3)); // true
// Set in ein Array umwandeln
const numArray = Array.from(uniqueNumbers);
console.log(numArray); // [1, 2, 3, 4, 5]