181008 TIL Lec3 할일관리 step1
Oct 8, 2018
»
1막,
TIL (Today I Learned)
할일관리 step1
- 오전에 오자마자 PR을 날리고, 오후에 피드백을 받았다. 전역 변수는 다 없애고 객체 안에서 작동하도록 수정.
- 이미 taskList에 있는 속성(status, id)들을 또 다시 배열을 만들어서 쓰면 나중에 꼬일 가능성이 있어 위험! taskList에서 직접 끌어쓰도록 수정!
[수정 버젼]
const todo = {
taskList: [],
add(task) {
task.status = 'todo';
task.id = new Date().getUTCMilliseconds();
this.taskList.push(task);
let [todo, doing, done] = this.findStatus();
console.log(`id : ${task.id}, "${task.name}" 항목이 새로 추가되었습니다.
현재 상태 - todo: ${todo}개, doing: ${doing}개, done: ${done}개 `);
},
update(idAndStatus) {
for (const values of this.taskList) {
if (values.id === idAndStatus.id) {
idAndStatus.nextstatus = idAndStatus.nextstatus.toLowerCase();
console.log(
`id : ${values.id}, "${values.name}" 항목이 (${values.status} => ${idAndStatus.nextstatus}) 상태로 업데이트되었습니다.`);
values.status = idAndStatus.nextstatus;
let [todo, doing, done] = this.findStatus();
console.log(`현재 상태 - todo: ${todo}개, doing: ${doing}개, done: ${done}개`);
}
}
},
remove(id) {
for (const values of this.taskList) {
if (values.id === id.id) {
console.log(`id : ${id.id}, "${values.name}" 삭제 완료.`);
this.taskList.splice(this.taskList.indexOf(values), 1);
}
}
},
findStatus() {
let [todo, doing, done] = [0, 0, 0];
for (const values of this.taskList) {
if (values.status === 'todo') {
todo++;
}
if (values.status === 'doing') {
doing++;
}
if (values.status === 'done') {
done++;
}
}
return [todo, doing, done];
}
}
//test
todo.add({
name: "자바스크립트 공부하기",
tag: "programming"
});
todo.add({
name: "자바스크립트 공부하기2",
tag: "programming"
});
todo.update({
id: todo.taskList[0].id,
nextstatus: "DOING"
});
todo.remove({
id: todo.taskList[0].id,
});
- id를 원래는 차례차례 부여받는 방식으로 했는데, 객체마다 unique한 고유 id를 부여받도록 했다. -> 데이터 입력 받는 시간을 이용!
task.id = new Date().getUTCMilliseconds();
- 저녁에 수정해서 PR을 또 날렸으니 만족!
알고리즘
-
문제: 프로그래머스 풀이: 문자열 내 마음대로 정리하기 (해결!)
일기
오늘 왜인지 기운도 없고 기분이 좋지 않다.
이게 노멀인건가ㅋ 요새 너무 기분이 high했어서 상대적으로 쳐지게 느껴지는 것일까.
자고 나면 괜찮겠지.
모니터 받침대가 도착했다. 조립하는 게 생각보다 복잡해서 고맙게도 달리와 코코아가 도와주었다. 수요일엔 모니터가 도착할 것이고, 바보같이 HDMI 선은 집으로 시켜서 목요일에나 써볼 듯 하다.
10/8 to-do
Lecture 3 step 1 PRprototype, 객체 강의알고리즘 1문제 & 문자열 해결- 객체 탐험