ALGORITHM _ 반복문
와이라노.. 와이리 못하누..
sideproject 언제쯤..?
function isOdd(num) {
/**
* num 이 홀수? 짝수 판별하는법.
* 2로 곱했을때 나오는 수? 짝수 아니면 홀수
*
*/
let pow = 2;
if (num === 0) return false;
let i = 1
for( let i = 1; i<= Math.abs(num); i++ ){
if(pow*i === Math.abs(num)){
return false;
}
}
return true;
}
function isOdd(num) {
let pow = 2;
if (num === 0) return false;
let i = 1
while (i<= Math.abs(num)){
i++;
if( pow * i === Math.abs(num)) {
return false; }
}
return true;
}
백틱 ? 무조건결과값은 배열- > string으로 나온다
`` 백틱 왜써요? 변수를 string 출력값을 편하게 쓰려구요!
차이 알기
${name} + '님 안녕하세요!'
${name} + 님 안녕하세요!
스페이스가 왜들어가게요?
자주쓰는 메소드 - > 뮤터블?이뮤터블?차이를 알자
push? 뮤터블
map ? 이뮤터블
shift ? 뮤터블
slice ? 이뮤터블 복제복사
splice ? 삭제/ 새요소 삽입 > 뮤터블
얇은 복사 slice , 첫번째 배열만 복사를 한다.
배열안의 배열은 주소값 그대로
- 얇은 복사?
하나의 얇은계층만 복사한다.
- 깊은 복사는? 주소값이 바뀐다.
- 배열안에 배열, 계단이 5개,6개 되면??
다 slice 할수없다
참조 주소값 -> 원시 -> 사라진다.
= 모두 새롭게 복사된다.
let arr = [[1], [2]]
let arr2 = [arr]
let arr3 = arr.slice()
let a = [1, 2];
let b = [3, 4];
let c = [5, 6];
let arr = [a, b];
let arr2 = [b, c];
// 얕은 복사 예시
// 배열이 여러가지 스탭 이 있는데, 특수한 경우. 1계층만 복사할때.
let thinArr = arr.slice();
// 깊은 복사 예시
let deepArr = JSON.parse(JSON.stringify(arr));
console.log('thinArr === arr:', thinArr === arr);
console.log('deepArr === arr:', deepArr === arr);
console.log('thinArr[0] === arr[0]:', thinArr[0] === arr[0]);
console.log('deepArr[0] === arr[0]:', deepArr[0] === arr[0]);
while 문 쓸때 3가지
초기값, 탈출조건, 상승값 (for문 조건과 동일)
참고로 while 은 탈출조건으로도 ok
문풀 시 : for - while 바꿔보기.
map - filter / reducer / forEach for/ while
다 바꿔서 도전해보자.
forEach return undefiend
ES5 vs ES6
promise는 es6 문법, async await도...
백틱은 es6 템플릿..? 더 빠르다?
1 코드잇 정확하게 다 알기.
문제를 보고 한눈에 정답을 맞출수있도록. 코드를 보고 해석할 수 있또록 응용해야하고.
2 코플릿 알고리즘에서 응용할 수 있도록 이해가 중요하다.
3 순서에 맞게 차근차근 돌아가자!
홍욱좌 : 코드를 음미해보기!