Menu
Coddy logo textTech

Görev Ekleme Fonksiyonu

Coddy'nin JavaScript Journey'sinin TypeScript'e Giriş bölümünün bir parçası — ders 46 / 73.

challenge icon

Görev

Kolay

Önceki görevden size aşağıdakiler sağlanmıştır:

  • id (number), title (string) ve status (literal type) özelliklerine sahip Task arayüzü
  • Üç görev değişkeni: firstTask, secondTask ve thirdTask
  • getTaskInfo fonksiyonu

İki parametre alan addTask adında bir fonksiyon oluşturun:

  • Task[] tipinde taskList (Task nesnelerinden oluşan bir dizi)
  • string tipinde title (yeni görevin başlığı)

Fonksiyon şunları yapmalıdır:

  • Benzersiz bir ID'ye sahip yeni bir görev oluşturun (mevcut dizinin uzunluğu + 1 kullanın)
  • Başlığı, sağlanan title parametresine ayarlayın
  • Durumu (status) 'todo' olarak ayarlayın
  • Mevcut tüm görevleri ve yeni görevi içeren yeni bir dizi döndürün

firstTask ve secondTask öğelerini içeren Task[] tipinde initialTasks adında bir değişken oluşturarak başlangıç görev listesini oluşturun.

initialTasks listesine "Review code changes" başlığıyla yeni bir görev eklemek için addTask fonksiyonunuzu kullanın ve sonucu updatedTasks adında bir değişkende saklayın.

Aşağıdaki çıktıları ayrı satırlara yazdırın:

  • initialTasks dizisinin uzunluğunu yazdırın
  • updatedTasks dizisinin uzunluğunu yazdırın
  • updatedTasks içindeki son görevle getTaskInfo fonksiyonunu çağırın ve sonucu yazdırın
  • Yeni eklenen görevin (updatedTasks içindeki son görev) başlığını yazdırın
  • Yeni eklenen görevin durumunu (status) yazdırın

Kendin dene

// 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);

TypeScript'e Giriş bölümündeki tüm dersler