졸꾸 코딩일기 21.7.9()

David K·2021년 7월 9일
0

졸꾸 코딩일기 2021

목록 보기
24/31

건강관리

  • 스트레칭 V
  • 팔 운동(신경강화) X

코딩기록

Javascript 코플릿 D - 2(+6~)

function YY(arr) {
  return arr.reduce(function(acc, cur){
    if(acc.length >= cur.length){   //acc보다 길거나 같으면 acc리턴
                                   //짧으면 쉬지말고 긴거 나올때 까지 반복문 cur 돌려!!
      return acc
    }else{
      return cur
    }
   }, '')
}

피드백

  • 엄청나게 어리석은 짓을 했다. 코드를 작성중
    'uncaught typeerror: cannot read property 'length' of undefined' 에러에 꽂혀서 acc 파라미터가 length 메소드를 못 읽는 줄 알고 acc.length 없이 코드를 작성하기 위해 몇 시간동안 노력을 했는데 그게 아니었다... 입력한 배열 내에는 if(acc.length < cur.length) 조건문과 다른 경우(===)의 요소들이 있었고 에러는 단순히 길이가 같은 경우를 처리하지 못하기에 length메소드를 읽지 못한다고 뜬 것이었다. 고생한 시간을 생각하면 너무 화가 나지만 중요한 것을 배웠다.

  • 반드시 기억하자

1. 절대로 넘겨짚지 말고 에러가 난 이유를 꼼꼼하게 살피자

2. cur은 미친 반복문이다. 가만히 놔두면 배열 끝까지 달려간다.

3. acc는 reduce함수의 브레이크이다.
cur은 반복문이여서 acc가 없으면 반복 과정을 저장하지 못하고 달리다가 맨 마지막 요소를 리턴한다.
위의 공식에서도 드러나듯 acc가 cur의 브레이크 역할을 해주고 있는 것이다. acc덕분에 cur의 반복을 멈출 수 있다.

리액트 spa
다음주에 마저 정리

profile
배워서 남 주자

0개의 댓글

관련 채용 정보