Coder Social home page Coder Social logo

const todoList = () => { all = []; const add = (todoItem) => { all.push(todoItem); }; const markAsComplete = (index) => { all[index].completed = true; };

const overdue = () => {
  let dateToday = new Date();
  const today = formattedDate(dateToday);
  return all.filter((todo) => {
    return todo.dueDate < today;
  });
};

const dueToday = () => {
  let dateToday = new Date();
  const today = formattedDate(dateToday);
  return all.filter((todo) => {
    return todo.dueDate === today;
  });
};

const dueLater = () => {
  let dateToday = new Date();
  const today = formattedDate(dateToday);
  return all.filter((todo) => {
    return todo.dueDate > today;
  });
};

const toDisplayableList = (list) => {
  let dateToday = new Date();
  const today = formattedDate(dateToday);
  return list
    .map((todo) => {
      return `[${todo.completed ? "x" : " "}] ${todo.title} ${
        todo.dueDate !== today ? todo.dueDate : " "
      }`;
    })
    .join("\n");
};

return {
  all,
  add,
  markAsComplete,
  overdue,
  dueToday,
  dueLater,
  toDisplayableList,
};

};

// ####################################### # // DO NOT CHANGE ANYTHING BELOW THIS LINE. # // ####################################### #

const todos = todoList();

const formattedDate = (d) => { return d.toISOString().split("T")[0]; };

var dateToday = new Date(); const today = formattedDate(dateToday); const yesterday = formattedDate( new Date(new Date().setDate(dateToday.getDate() - 1)) ); const tomorrow = formattedDate( new Date(new Date().setDate(dateToday.getDate() + 1)) );

todos.add({ title: "Submit assignment", dueDate: yesterday, completed: false }); todos.add({ title: "Pay rent", dueDate: today, completed: true }); todos.add({ title: "Service Vehicle", dueDate: today, completed: false }); todos.add({ title: "File taxes", dueDate: tomorrow, completed: false }); todos.add({ title: "Pay electric bill", dueDate: tomorrow, completed: false });

console.log("My Todo-list\n\n");

console.log("Overdue"); var overdues = todos.overdue(); var formattedOverdues = todos.toDisplayableList(overdues); console.log(formattedOverdues); console.log("\n\n");

console.log("Due Today"); let itemsDueToday = todos.dueToday(); let formattedItemsDueToday = todos.toDisplayableList(itemsDueToday); console.log(formattedItemsDueToday); console.log("\n\n");

console.log("Due Later"); let itemsDueLater = todos.dueLater(); let formattedItemsDueLater = todos.toDisplayableList(itemsDueLater); console.log(formattedItemsDueLater); console.log("\n\n");

07shanmukh's Projects

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.