[TIL #5 WECODE] JS 코딩훈련

Whoyoung90·2021년 2월 20일
0
post-thumbnail

210219 WECODE #5

▶자바스크립트 관련 코드훈련을 하다보니 내가 배워봤던 개념들을 응용하여 쓰는 경우가 많았다.
▶금일은 훈련 예시를 통해 응용개념들을 정리해 보았다.

1번 예시

  • 년도 인자만 받았을 경우: 년
  • 년도,월 인자를 받았을 경우: 년월
  • 년도,월,일 인자를 전부 받았을 경우: / / /
<script>
function calendar(year, month, date) {
  if (date) {return year + '/' + month + '/' + date;}
  if (month) {return year + '년 ' + month + '월';}
  if (year) {return year + '년';}
}
</script>

인자를 뒤집어서 return해야 함수가 출력된다
year→month→date 순서대로 하면 X

2번 예시

  • 배열의 최대값 & 최소값 찾기
<script>
let arr = [20, 200, 23, 1, 3, 9];

function smallElement(arr) {
  let min = arr[0];
  for(let i = 1; i < arr.length; i++){
    if( min > arr[i] ){
      min = arr[i];
    }
   }
   return min;
 }
</script>
  • 배열의 0번째 값을 변수 min으로 받아 기준으로 삼고
  • for문을 i=1부터 루프를 돌려 최소값을 찾는 예시
  • 최소값 if(min > arr[i])
  • 최대값 if(max < arr[i])

let min = Math.min.apply(null, arr);

  • Function.prototype.apply()를 활용해도 가능하다

3번 예시

  • 배열값 역순으로 추출하기
  • array의 요소들 중 10과 같거나 작은 값의 element들은 result의 맨 앞으로,
  • 10보다 큰 값의 요소들은 result의 맨 뒤로 재구성된 배열을 리턴해주세요.
    [100]→[5, 100]→[10, 5, 100]→
    [10, 5, 100, 20]→[1, 10, 5, 100, 20]
<script>
let array = [1,20,10,5,100];

function divideArrayInHalf(array) {
  let result = [];
  for(let i = array.length; i >= 0; i--){ 
  if(array[i] <= 10){
       result.unshift(array[i]);
  }else if(array[i] > 10){
       result.push(array[i]);
    }
  }
  return result;
}
</script>
  • for(let i = array.length; i >= 0; i--)
    for문을 가장 큰 수부터 0으로 역순으로 돌리는 코드!
profile
비전공으로 일식 쉐프가 되었듯, 배움에 겸손한 프론트엔드 개발자가 되겠습니다 :)

0개의 댓글