본문 바로가기

verdantjuly/Today I Learned

TIL 20230531

728x90

오늘 목표

TIL 리뷰

TIL 작성

자바스크립트 문법종합반 5-5 ~ 완강

프로그래머스 입문 Day4

 

오늘 한 것

TIL 리뷰

TIL 작성

프로그래머스 입문 Day4

moviechart 업데이트 love button + love 를 누른 숫자를 보여 줌 (map 이용)

1. Map 기초 사용

알게된 것

//예시 코드는 스터디원의 것을 이용한다! 친절한 설명 감사합니다 ㅠ ㅠ

let array = [1,2,3,3,3,4];
function solution(array) {
    let m = new Map(); //Map 의 생성
    array.forEach(v=>{  //array에서 v를 하나씩 뽑아요
        if(m.has(v)){   //Map()에 v가 있으면
            m.set(v,m.get(v)+1); // 원래의 것에 {key v,value v+1} 저장
        }else{          //Map()에 v가 있지 않으면
            m.set(v,1); // 새로운 {key v,value 1} 을 저장
        }
    });

 

2. 좋아요를 누를 때 마다 load()를 하게 되어서 alert 너무 많이 반복 됨

 

문제

love(id) 가 실행되면서 마지막 줄의 load() 가 실행되면 enter을 눌렀을 때  alert 가 연쇄작용한다.

 

시도 

load() 가 좋아요를 누른 횟수 만큼 되기 때문에 alert도 그 만큼 발생하는 것 같다. 

> enter 부분만 load에서 분리하자.

해결

enter 부분 enter.js로 분리

 

알게 된 점

원하지 않는 현상이 나는 식이 있다면  식을 파일 분리 가능한 경우 한다.

 

3. button에 title 작성하기

알게 된 점

<button title="설명">all chart</button>

 

4. import export

알게 된 점

 <script type="module" src="src/js/enter.js"></script>

참고자료 : https://ko.javascript.info/import-export

 

scirpt type에 module을 꼭 적어 줘야 한다.

export

import


정리 

//예시 코드는 스터디원의 것을 이용한다! 친절한 설명 감사합니다 ㅠ ㅠ

let array = [1,2,3,3,3,4];
function solution(array) {
    let m = new Map(); //Map 의 생성
    array.forEach(v=>{  //array에서 v를 하나씩 뽑아요
        if(m.has(v)){   //Map()에 v가 있으면
            m.set(v,m.get(v)+1); // 원래의 것에 {key v,value v+1} 저장
        }else{          //Map()에 v가 있지 않으면
            m.set(v,1); // 새로운 {key v,value 1} 을 저장
        }
    });
<button title="설명">all chart</button>

원하지 않는 현상이 나는 식이 있다면  식을 파일 분리 가능한 경우 한다.

 

소감

내가 작성한 코드에서 sort에 대한 부분을 조금 더 이해하고 싶다. 가끔 테스트를 돌리다가 예외 케이스들이 나오는데 혹시 제출본에 에러가 나지는 않을까 노심초사 중이다.

 

'verdantjuly > Today I Learned' 카테고리의 다른 글

TIL 20230602  (0) 2023.06.02
TIL 20230601  (0) 2023.06.01
TIL 20230530  (0) 2023.05.30
TIL 20230529  (0) 2023.05.29
TIL 20230528  (2) 2023.05.28