181007 TIL Lec3 할일관리 step1
Oct 7, 2018
»
1막,
TIL (Today I Learned)
할일관리 step1
-
미루고 미루던 step1을 시도해보았다. 토요일에 봤는데, 도대체 무슨 말인지 전-혀 이해가 가지 않아서 멍하니 쳐다보고 끄적거려보다가 ‘내일은 생각이 나겠지’ 하고 슬픈 마음으로 잠들었다.
-
일요일 오전에도 역시나 생각이 나질 않아 고민하다가 낮잠 한번 때리고(?) 나가서 떡볶이를 먹고 저녁에 뙇 앉았는데, 갑자기 뭔가 홀린듯 술술 써졌다!
-
draft지만 일단 구현은 된당…? 그러니 PR을 날려본다..!!
let taskList = [];
let idList = [];
let statusList = [];
const todo = {
add(task) {
this.id = idList.length + 1;
task.id = this.id;
task.status = 'todo';
idList.push(this.id);
taskList.push(task);
statusList.push(task.status);
const [todo, doing, done] = this.findStatus(statusList);
console.log(`id : ${this.id}, "${task.name}" 항목이 새로 추가되었습니다.
현재 상태 - todo: ${todo}개, doing: ${doing}개, done: ${done}개 `);
},
update(idAndStatus) {
idAndStatus.nextstatus = idAndStatus.nextstatus.toLowerCase();
const taskToUpdate = taskList.find(idAndStatus => idAndStatus.id === this.id);
const before = taskToUpdate.status;
const after = idAndStatus.nextstatus;
taskToUpdate.status = after;
statusList.splice(statusList.indexOf(taskToUpdate), 1);
statusList.push(after);
const [todo, doing, done] = this.findStatus(statusList);
console.log(`id : ${taskToUpdate.id}, "${taskToUpdate.name}" 항목이 (${before} => ${after}) 상태로 업데이트되었습니다.
현재 상태 - todo: ${todo}개, doing: ${doing}개, done: ${done}개`);
},
remove(id) {
const taskToRemove = taskList.find(id => id.id === id.id);
console.log(`id : ${id.id}, "${taskToRemove.name}" 삭제 완료.`);
taskList.splice(taskList.indexOf(taskToRemove), 1);
statusList.splice(statusList.indexOf(taskToRemove), 1);
idList.splice(idList.indexOf(taskToRemove), 1);
},
findStatus(statusList) {
let todo = 0;
let doing = 0;
let done = 0;
for (i = 0; i < statusList.length; i++) {
if(statusList[i] === 'todo'){
todo++;
} else if(statusList[i] === 'doing'){
doing++;
} else if (statusList[i] === 'done'){
done++;
}
}
return [todo, doing, done];
}
}
todo.add({
name: "자바스크립트 공부하기",
tag: "programming"
});
todo.add({
name: "자바스크립트 공부하기2",
tag: "programming"
});
todo.update({
id: 2,
nextstatus: "DOING"
});
todo.remove({
id: 1
});
알고리즘 문제풀이
문제: 프로그래머스 풀이: 정수 내림차순으로 배치하기
문제: 프로그래머스 풀이: 문자열 내 마음대로 정리하기 <– 미완성.. 될거 같은데 안된당…ㅠㅠ
10/8 to-do
- Lecture 3 step 1 PR
- prototype, 객체 강의
- 알고리즘 1문제 & 문자열 해결
- 객체 탐험