Menu
CoddyTech

Funktion zum Hinzufügen einer Aufgabe

Teil des Abschnitts Einführung in TypeScript der JavaScript-Journey von Coddy. Lektion 46 von 73.

challenge icon

Aufgabe

Einfach

Dir wird Folgendes aus der vorherigen Herausforderung bereitgestellt:

  • Das Task-Interface mit id (number), title (string) und status (Literaltyp)
  • Drei Task-Variablen: firstTask, secondTask und thirdTask
  • Die Funktion getTaskInfo

Erstelle eine Funktion namens addTask, die zwei Parameter entgegennimmt:

  • taskList vom Typ Task[] (ein Array von Task-Objekten)
  • title vom Typ string (der Titel für den neuen Task)

Die Funktion soll:

  • Einen neuen Task mit einer eindeutigen ID erstellen (verwende die Länge des aktuellen Arrays + 1)
  • Den Titel auf den bereitgestellten title-Parameter setzen
  • Den Status auf 'todo' setzen
  • Ein neues Array zurückgeben, das alle vorhandenen Tasks sowie den neuen Task enthält

Erstelle eine anfängliche Task-Liste, indem du eine Variable namens initialTasks vom Typ Task[] erstellst, die firstTask und secondTask enthält.

Verwende deine Funktion addTask, um der "Review code changes" einen neuen Task mit dem Titel initialTasks hinzuzufügen, und speichere das Ergebnis in einer Variable namens updatedTasks.

Gib die folgenden Ausgaben in separaten Zeilen aus:

  • Gib die Länge von initialTasks aus
  • Gib die Länge von updatedTasks aus
  • Rufe getTaskInfo mit dem letzten Task in updatedTasks auf und gib das Ergebnis aus
  • Gib den Titel des neu hinzugefügten Tasks aus (der letzte Task in updatedTasks)
  • Gib den Status des neu hinzugefügten Tasks aus

Probier es selbst

// TODO: Write your code here

// Create the Task interface
interface Task {
    id: number;
    title: string;
    status: 'todo' | 'in-progress' | 'done';
}

// Create the task variables
const firstTask: Task = {
    id: 1,
    title: "Learn TypeScript interfaces",
    status: 'todo'
};

const secondTask: Task = {
    id: 2,
    title: "Build task management app",
    status: 'in-progress'
};

const thirdTask: Task = {
    id: 3,
    title: "Write unit tests",
    status: 'done'
};

// Create the getTaskInfo function
function getTaskInfo(task: Task): string {
    return `Task ${task.id}: ${task.title} - ${task.status}`;
}

// Print the required outputs
console.log(getTaskInfo(firstTask));
console.log(getTaskInfo(secondTask));
console.log(getTaskInfo(thirdTask));
console.log(firstTask.status);
console.log(secondTask.title);

Alle Lektionen in Einführung in TypeScript

Übe selbstständig: TypeScript-Playground