Filter 사용하기
const arr = ["pizza", "banana", "tomato"];
function sexyFilter(food){return food !== "banana"}
arr.filter(sexyFilter)
const arr = [1234, 5454, 223, 122, 45, 6775, 334]
function sexyFunction(potato){return potato <= 1000}
arr.filter(sexyFunction)
toDoList.js에 적용
const toDoForm = document.getElementById("todo-form");
const toDoInput = document.querySelector("#todo-form input");
const toDoList = document.getElementById("todo-list");
let toDos = [];
const TODOS_KEY = "todos"
function saveTodos(){
localStorage.setItem(TODOS_KEY,JSON.stringify(toDos));
}
function deleteToDo(event){
const li = event.target.parentElement;
li.remove();
toDos = toDos.filter((toDo) => toDo.id !== parseInt(li.id));
saveTodos();
}
function paintToDo(newTodo){
const li = document.createElement("li");
li.id = newTodo.id;
const span = document.createElement("span");
span.innerHTML = newTodo.text;
const button = document.createElement("button")
button.innerText = "❌";
button.addEventListener("click",deleteToDo)
li.appendChild(span);
li.appendChild(button)
toDoList.appendChild(li);
}
function handleToDoSubmit(event){
event.preventDefault();
const newTodo = toDoInput.value;
toDoInput.value = "";
const newTodoObj = {
text: newTodo,
id: Date.now()
}
toDos.push(newTodoObj);
paintToDo(newTodoObj);
saveTodos();
}
toDoForm.addEventListener("submit", handleToDoSubmit)
const savedTodos = localStorage.getItem(TODOS_KEY);
if (savedTodos != null){
const parsedToDos = JSON.parse(savedTodos);
toDos = parsedToDos;
parsedToDos.forEach(paintToDo);
}