Tell us what’s happening:
Can someone please tell me what I’m doing wrong?
You can enhance code readability and maintainability by refactoring the submit
event listener into two separate functions. The first function can be used to add the input values to taskData
, while the second function can be responsible for adding the tasks to the DOM.
Use arrow syntax to create an addOrUpdateTask
function. Then move the dataArrIndex
variable, the taskObj
object, and the if
statement into the addOrUpdateTask
function.
Your code so far
// Define addOrUpdateTask function using arrow syntax
const addOrUpdateTask = () => {
// For the findIndex() method, pass in an arrow function with item as the parameter.
const dataArrIndex = taskData.findIndex((item) => item.id === currentTask.id);
// Create a taskObj object with an id property
const taskObj = {
// add another hyphen("-") and then Date.now() to make the id unique
id: `${titleInput.value.toLowerCase().split(' ').join('-')}-${Date.now()}`,
date: dateInput.value,
title: titleInput.value,
description: descriptionInput.value
};
if (dataArrIndex === -1) {
taskData.unshift(taskObj); // unshift puts taskObj at the front of the taskData array
}
};
WARNING
The challenge seed code and/or your solution exceeded the maximum length we can port over from the challenge.
You will need to take an additional step here so the code you wrote presents in an easy to read format.
Please copy/paste all the editor code showing in the challenge from where you just linked.
Replace these two sentences with your copied code.
Please leave the ``` line above and the ``` line below,
because they allow your code to properly format in the post.
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0
Challenge Information:
Learn localStorage by Building a Todo App - Step 30