Javascript 고차함수

요니·2022년 9월 21일
0
post-thumbnail

👩‍💻 배운것

  • JS 고차함수를 배워서 코플릿에서 문제를 풀어봤다.
  • map: 이미 존재하는 array에서 새로운 array를 만든다
  • 코플릿 예시) 수를 요소로 갖는 배열을 입력받아 각 요소를 2배 곱한 새로운 배열을 리턴해야 합니다.
function getDoubledElements(arr) {
  // TODO: 여기에 코드를 작성합니다.
  return arr.map(function(i){
    return i*2
  })
}
  • filter: array의 각 element에 컨디션을 부여해서 true면 push하고 false면 패스
  • 코플릿 예시) 문자열을 요소로 갖는 배열을 입력받아 그 길이가 홀수인 요소만을 갖는 배열을 리턴해야 합니다.
function filterOddLengthWords(words) {
  return words.filter(function(i){
    if (i.length%2==0){
      return false;
    }
    else{
      return true;
    }
  })
}
  • reduce: array를 조건에 맞게 하나의 element로 reduce한다
  • 코플릿 예시) number 타입을 요소로 갖는 배열을 입력받아 배열의 모든 요소의 평균을 리턴해야 합니다.
function computeAverageOfNumbers(arr) {
  if (arr.length === 0) {
    return 0;
  }

  let total = arr.reduce(function (acc, cur) {
    return acc + cur;
  });

  return total / arr.length;
}

👫 페어프로그래밍

  • 오늘의 페어프로그래밍은 같이 코플릿 문제를 풀어보는 것이였다!
  • 코플릿 15번부터 32까지 푸는데, filter, map, reduce를 통해 여러가지 문제를 풀어봤다. 처음에는 navigator와 driver를 번갈아가면서 했는데 에러가 많이 뜨는 복잡한 문제들로 넘어가고부터는 의미가 없어져서 같이 고민했다...

👍 후기

  • 오늘의 노동요

  • 으 어렵다 처음 해본거지만 확실히 반복해서 풀어보니 어느정도 적응이 됐다. 근데 또 다음문제에서 꼬아서 내면 멘붕,,

  • 그리고 한 에러에만 계속 매몰되어 있으니 머리가 더 안돌아가는것 같다. 너무나도 막혔을때는 리프레쉬하고 다시 돌아오는걸로.. 나중엔 "return"이라는 단어도 생각 안나서 머리가 하얘졌다.

  • 오늘 페어님도 미국에서 대학교를 나오신 분이여서 반가웠다!!!!

  • 제일 어려웠던 문제

    2차원 배열(배열을 요소로 갖는 배열)을 입력받아 모든 수(number)의 합을 리턴해야 합니다.
    인자 1 : arr
    배열을 요소로 갖는 배열
    arr[i]는 임의의 타입을 요소로 갖는 배열
    출력
    number 타입을 리턴해야 합니다.
    합을 구할 때 number 타입만 고려해야 합니다.

  • 문제풀이

function sumOfArraysInArray(arr) {
  let combined = arr.reduce(function(prev,cur){
    return prev.concat(cur);
  })
  let numArray=combined.filter(function(el){
    return typeof el == 'number'
  })

  return numArray.reduce(function(prev,cur){
    return prev+cur;
  },0)

}
profile
개발자가 될래요

0개의 댓글