▶자바스크립트 관련 코드훈련을 하다보니 내가 배워봤던 개념들을 응용하여 쓰는 경우가 많았다.
▶금일은 훈련 예시를 통해 응용개념들을 정리해 보았다.
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으로 역순으로 돌리는 코드!