Usuwanie zadań z listy za pomocą funkcji deleteTask() i deleteAllTasks()


Pamiętasz, jak usuwaliśmy zadania za pomocą metody splice()? Oczywistym jest, że nie będziemy więcej usuwać elementów bezpośrednio w ten sposób, tylko napiszemy dedykowaną reużywalną funkcję. No bo kto by pamiętał za każdym razem, jakie argumenty i w jakiej kolejności mamy przekazać do metody splice()? Zresztą, kto by w ogóle pamiętał, jak nazywa się ta metoda.

Stwórzmy więc funkcję deleteTask(index):

function deleteTask(index) {
    // usuwamy 1 zadanie zlokalizowane pod przekazanym indeksem,
    // w taki sam sposób, jak robiliśmy to wcześniej:
    tasks.splice(index, 1);

    // wyświetlamy zaktualizowaną listę zadań:
    showTasks();
}

Po przepisaniu tej funkcji do konsoli, spróbuj usunąć kilka zadań, uprzednio sprawdzając, jakie indeksy chcesz usunąć.

Spróbujmy teraz stworzyć funckję o nazwie deleteAllTasks(), która usuwa od razu wszystkie zadania. Najłatwiej jest po prostu przypisać do zmiennej tasks pustą tablicę:

function deleteAllTasks() {
    tasks = [];

    console.log("Wszystkie zadania zostały usunięte...");

    showTasks();
}
  • Przepisz te nowe funkcje do pliku, zapisz go i uruchom, a potem przetestuj,
  • usuwając wybrane zadania za pomocą deleteTask(),
  • dodając nowe zadania za pomocą addTask(),
  • a ostatecznie usuwając wszystkie zadania za pomocą deleteTasks().