{ ... } : 구현부
<script> if(조건) { // 조건이 참일 때 } else { // 조건이 거짓일 때 </script>
: else if 문은 여러번 추가 될 수 있고 그 어떤 경우에도 else보다 먼저나와야한다.
<script> if(조건1) { // 조건1이 참일 때 } else if (조건2) { // 조건2가 참일 때 } else { // 조건1과 조건2가 모두 거짓일 때 } </script>
<script> if(1===1) { // } else if (2===2) { // } else if (3===3) { // } else { // } </script>
- if가 거짓이지 않는 이상 넘어가지 않는다.
if조건문은 딱 하나의 구현부만 실행한다.
<script> switch (변수) { case 값1 : break; case 값2 : break; .... default : } </script>
<script> let letter = 'a'; switch(letter) { case 'a' : console.log('에이'); break; case 'b' : console.log('비'); break; case 'c' : console.log('씨'); break; default : console.log('그 외'); break; } </script>
<script> let start = 2; switch (start) { case 1: console.log('첫번째 도미노 무너짐'); case 2: console.log('두번째 도미노 무너짐'); case 3: console.log('세번째 도미노 무너짐'); case 4: console.log('네번째 도미노 무너짐'); case 5: console.log('다섯번째 도미노 무너짐'); } </script>
- break가 없으면 끝까지 다 실행을 한다.
<script> if(start==1) { console.log('첫번째 도미노 무너짐'); console.log('두번째 도미노 무너짐'); console.log('세번째 도미노 무너짐'); console.log('네번째 도미노 무너짐'); console.log('다섯번째 도미노 무너짐'); } else if (start == 1 || start == 2) { console.log('두번째 도미노 무너짐'); console.log('세번째 도미노 무너짐'); console.log('네번째 도미노 무너짐'); console.log('다섯번째 도미노 무너짐'); } ..... </script>
- if문으로 switch를 나타내려면 이런식으로 다 작성을 해줘야한다.
: 조건이 참이면 참 값을 , 조건이 거짓이면 거짓 값을 반환하는 함수이다.
(조건) ? (참 값) : (거짓 값)
<script> let n = 5; let result = n % 2 === 0 ? '짝수' : '홀수'; console.log(result); </script>
<script> if(n % 2 === 0) { result = '짝수'; } else { result = '홀수'; } </script>
- if문으로 풀면 이렇게 적을 수 있다.
: 하나의 변수에 여러개의 값을 넣기 위해 사용
- 대괄호를 사용하며 그 안에는 콤마로 구분한다.
<script> let arr = [1,2,3,4,5]; console.log(arr.at(1)); </script>
< 메서드 >
arr.at(1);
==arr[1]
: 주어진 인덱스에 해당하는 아이템을 반환한다.
arr.pop(); // 5
: 배열의 마지막 값을 반환하고 배열에서는 삭제된다.
arr.push(6);
: 배열의 마지막 자리에 주어진 값을 추가한다.
arr.slice(a,b);
: 배열의 a번 인덱스 부터 b번 인덱스 까지의 값들을 가지는 새로운 배열을 반환한다.
arr.slice(a,b,c);
: 배열의 a번 인덱스 자리에 b개에 해당하는 아이템을 c...값으로 치환한다. 이 때 b가 0이면 치환하지 않고 추가한다.
가령 [1, 4, 5].slice(1, 0, 2, 3)은 [1, 2, 3, 4, 5]
추가로, ...c를 전달하지 않는다면 a자리 부터 b개에 해당하는 아이템을 삭제한다.
< 속성 >
arr.length();
: 배열의 길이(개수)를 반환한다.
값 A B C D E F
인덱스 0 1 2 3 4 5
splice(x , y , v)
x : 인덱스 3(D부터라는 말이다.)
y : 치환 개수 0
v : 값들 D (E앞에 추가)
let emptyArr = [];
: 비어있는 배열
문제 1) 자연로 이루어진 배열을 매개변수로 전달 받아 그 중 홀수만을 그 값으로 가지는 새로운 배열을 반환하는 filterOdds 함수를 만드세요.
가령,
let nums = [1,2,3,4,5,6,7,8];
let oddNums = filterOdds(nums);
console.log(oddNums); // [1,3,5,7]
<script> let filterOdds = (nums) => { let oddNums = []; for(let i = 0; i < nums.length; i++) { if(nums[i] % 2 > 0) { oddNums.push(nums[i]); } } return oddNums; }; let nums = [1,2,3,4,5,6,7,8]; let oddNums = filterOdds(nums); console.log(oddNums); </script>
문제 2) 자연수로 이루어진 배열을 매개변수로 전달 받아 그 중 가장 큰 수를 반환하는 함수 getMax를 만드세요. 이 때 매개변수인 배열은 숫자 순서대로 정렬되어 있지 않습니다.
<script> let getMax = (nums1) => { let result = 0; for(let i = 0; i < nums1.length; i++) { if(nums1[i] > result) { result = nums1[i]; } } return result; } let nums1 = [107, 36, 1198, 19]; let nums2 = [960, 388, 3190, 55]; console.log(getMax(nums1)); console.log(getMax(nums2)); </script>