본문 바로가기

자바스크립트86

[220108] Array, fill, 덧셈 삼대장(map, reduce, forEach) 목차 1. array 2. fill 3. 덧셈 삼대장 Array ( 집어넣을 요소 | 생성할 빈 배열 수) Array( element1, element2... | arrayLength ) : 생성자 새로운 array 객체를 생성할때 사용 element1, element2... : array / 안에 채울 요소, 만약 자료형이 숫자이고 단 하나일 경우 arrayLength로 넘어간다 arrayLength : 유일한 매개변수가 2^32-1 이하의 정수인경우, 그 수 만큼의 빈 배열을 갖게된다. let arr1 = Array(2) //[ 빈 요소, 빈 요소 ] let arr2 = Array('apple', 'pear') //['apple', 'pear] fill (채울 값, 시작 인덱스 번호, 끝 인덱스 번호.. 2022. 1. 8.
[220107] Lv.1 / 핸드폰 번호 가리기 해당 문제 주소 : https://programmers.co.kr/learn/courses/30/lessons/12948 splice를 사용해보려고했는데, 문자열이라서 사용이 안된다고한다. 배열만 가능하대. 아 그럼 배열로 만들어. for문만 사용해서 풀기 let phone="01033334444" let phoneArr=[] for(let i=0; i 2022. 1. 7.
[220107] this와 new 그리고 arrow function 목차 1. 객체와 this의 차이점 2. this로 객체만들기 3. this의 역할과 응용 4. class로 객체만들기 객체를 만드는 놀라운 기술을 배웠다! 이제 대량생산을 어떻게 쉽고 간단하게 만드는지 알아보자. 객체에 대해서 아래 블로그에 작성해놓았다. https://hancoco.tistory.com/23 [220104] 배열과 객체 / create:function(), 객체 안에 객체or배열 목차 1. 배열과 객체 2. 객체 안에 추가하기 3. 배열과 객체의 데이터타입 배열 (array) 과 객체 (object) 배열이랑 객체가 뭐더라 //배열 array // 배열명 = {값, 값, 값} let arr = [1, 2, 3]; //객체 obj.. hancoco.tistory.com 객체란 붕어빵을 .. 2022. 1. 7.
[220105] 메서드 (split, repeat, replace, repalceAll, includes, indexOf, substring, substr, concat, valueOf, slice, splice) 목차 1. 문자열을 다루는 메서드 오늘 수업은 감자특집이라고 하겠다. 수업을ㅋㅋㅋ 듣고는 있는데 하나도 이해를 못해서 그저 같이 흘러감ㅋㅋㅋㅋㅋㅋ 나는 말하는 감자지만 괜찮아!!!! 괜찮아!!!!! 나는 살아숨쉬는 감자니까 노력하면 나아진다!!! 메서드 특징만 잡자! 객체.함수() 행동하는 애들 -> 행동해서 어떤 것을 가져온다 -> 가져오는 어떤것은 어떤 데이터 타입인가? 이런 흐름을 알면 메서드를 사용할때 왜 리턴값을 알아야하는지, 어떤 데이터 타입에서 활동하는지 알아야하는지 알 수 있다. 문자열이 뭐더라? let str = "000-000-0000"; console.log(typeof(str)); //타입은 string이 나온다 console.log(str.length); //length가 10이 .. 2022. 1. 7.
[220107] 깊은복사, 얕은복사, spread문 목차 1. 저장할때 메모리의 변화 2. 깊은복사 3. 얕은복사 4. spread문 1. 빈 공간의 값은 서로 같을까? : {} == {} console.log(1==1) //true console.log({} == {}) //false //빈 공간이라 같아보이지만 객체는 만들때마다 새로운 값을 부여해서 다르다 //제품을 찍어낼때마다 생산넘버가 다른거라고 생각하자 let a = {} let b = {} console.log(a==b) //false //배열도 객체이므로 비교하면 false a = { name:'ingoo' } //ingoo라는 확실한 값으로 저장함 b = { name:'ingoo' } console.log(a.name === b.name) //true 2. 주소값 자체를 뜯어와서 참조를 해.. 2022. 1. 7.
[220106] forEach문. 차근차근 알아보기 목차 1. foreach로 for문을 대신하기 2. for문의 기본기능 3. for문을 응용하기 forEach로 for문을 대신해보자 function name() {} let newArr=[1,2,3] for(let i=0; i console.log(v)); //이게 forEach문을 사용한 문장 //뭐라는걸까. } forEach문의 형태 array.forEach( callback( currentvalue[, index[, array]])[, thisArg]) forEach 매개변수 callback : (필수) 각 요소에 대해 실행할 함수. 뒤에 따라오는 세가지 매개변수를 받는다 currentvalue : (필수) 처리할 현재 요소 index : (필수아님) 처리할 현재 요소의 인덱스 array : (필.. 2022. 1. 6.
[220105] Lv.2 피보나치 수열 / 메모이제이션으로 풀기 수업중에 피보나치 수열의 예제로 나왔던 문제. 꾸역꾸역 일단 풀음. 손에 익히는게 먼저야. 교수님 답변 let num=[]; //계산한 결과값 저장 //첫번재 원소값 1, 두번째 원소값 2 function fibo2(n){ //조건1 if(num[n] > 0) { return num[n]; //조건2 } else if(n===1 || n===2) { return num[n]=1; //조건1이랑 조건2는 중요도가 같아서 뒤바뀌어서 시간복잡도 상관 ㄴㄴ } else { return num[n] = fibo2(n-1) + fibo2(n-2); } } 이건 내가 문제를 한번 풀고 기억을 더듬어서 풀어본 방법 function solution(n) { let answer = []; //확률적으로 값이 0~2인것보다.. 2022. 1. 5.
[220105] for문, 이중for문(구구단, 별짓기), 재귀함수, 다이나믹 프로그래밍(피보나치, 메모이제이션) 목차 1. for문 2. 이중for문 3. 구구단만들기 4. 별짓기 5. 재귀함수 for ( 초기문; 조건문; 증강문) for문의 목표 : 내가 같은 코드를 몇번을 반복시킬 것인가 for(let i=1; i 2022. 1. 5.
[220104] 코테 Lv.1 / 행렬의 덧셈 문제인식 (더보기) 더보기 더보기 더보기 [[1,2],[2,3]] 이건뭐지 배열이 두겹이다. 뭐지 저건 뭐라고 부르지. 더블배열은 아닐테고. 구글링하니까 2차배열이라고 부른단다. 배열 선언 방법 : let arr = new Array(rows); 새로운 배열 선언 방법을 알았다. 변수명에 새로 생성하니까 new, 배열이니까 Array, 만들 개수를 (rows)에 넣는가 봄. 객체 안에 배열이나 객체를 넣을 수 있는데, 배열 안에도 배열을 넣을 수 있나보다! let arr = [1,2,3] arr[0]=1 2차원 배열 선언 방법 : let arr = new Array(rows, columns); 우선 이해를 해보자. [ [1,2], [2,3] ] 이란 배열 안에는 [1,2]랑 [2,3]이 있다. 저 배열 .. 2022. 1. 4.
[220104] 코테 Lv.1 / x만큼 간격이 있는 n개의 숫자 해결 : for문이랑 배열 사용 function solution(x, n) { let answer = []; //2,5 -> 2의 배수를 5개 만들어야함 for(let i=0; i(i+1)*v) /* - 요소를 n개 만드는 새 배열을 만들건데, - 그 안을 x로 채울거야. - 그 x에 하나씩 접근해서 함수처리 한 값으로 새 배열을 만들거야 - map(함수(처리할 현재 요소, 처리할 현재 요소의 인덱스, map()을 호출한 원본배열)) - 인덱스 0부터 하나씩 접근할때 바뀌는 인덱스가 i */ } solution(2,5); // {빈 요소, 빈 요소, 빈 요소, 빈 요소, 빈 요소} // {2, 2, 2, 2, 2} // {(0+1)*2, (1+1)*2, (2+1)*2, (3+1)*2, (4+1)*2} /.. 2022. 1. 4.