전체 글

전체 글

    [JavaScript] 자바스크립트의 새로운 자료구조 Set, Map

    Set이란? Set이란 중복을 허용하지 않는 값을 모아놓은 특별한 컬렉션이다. 중복 값 여부는 배열에서도 find() 메서드를 이용하여 확인할 수 있지만, 배열 내 전체 요소를 순환하여 찾기 때문에 성능면에서 Set보다 효율적이지 않다. Set은 값의 유일무이함을 확인하는 데에 최적화되어있다. Set 메서드 or 프로퍼티 new Set() or new Set(iterable) - Set 객체 생성 및 초기화. iterable 객체를(주로 배열) 전달받으면 그 안의 값을 복사해서 넣어준다. // Set 객체 생성 const letters = new Set(["a","b","c"]); // Set 객체 생성 const letters = new Set(); // Set 객체에 add로 값 추가 letters...

    [TIL] JS Set, 로또 번호 추첨기, Map

    ✍ Today I Learned [생일, 디데이 계산기] getTime() 메서드는 1970년 1월 0시 0분 0초부터 현재까지의 시간을 밀리초 단위로 환산한 값을 반환한다. Date() 객체를 할당한 변수끼리는 밀리 초로 연산이 가능하다. 기간을 출력할 때에는 주로 밀리초 단위를 사용하여 연산한다. 날짜 관련 데이터는 moment.js 또는 FullCalendar 를 활용하는 것도 좋은 방법! Set 객체에서 entries() 메서드로 값을 출력하려면 반복문을 중첩으로 사용해야 한다. 객체도 연관 배열이라고 볼 수 있다. [로또 번호 추첨기 ver. 1 (Set을 사용하기)] Set객체는 중복을 허용하지 않기 때문에 새로운 Set의 size가 6이 될 때까지 while문을 실행한다. 빈 배열을 만들어서..

    [TIL] JS 배열 순환 메서드, break, continue, Date

    ✍ Today I Learned [조건에 맞는 데이터 출력하기] 1번 문제에서 사용자한테 입력받은 key값으로 데이터를 출력하려면 KeyName이라는 변수를 선언하고 el[keyName] 이런 방식으로 접근하면 된다. map() 메서드는 새로운 배열을 만들어내지만 filter() 메서드는 말 그대로 필터링이다. return이 true인 요소만을 반환한다. 너무 return 값을 의식하지 말자. 집합적인 데이터 관리에 있어서 명칭이 필요하면 객체, 동일한 형태로 쌓는 거면 배열. 배열과 객체를 반드시 번갈아 가면서 사용할 필요는 없다. 연관 배열은 key값이 있는 배열이니까 keys() 메서드를 사용할 수 있을 줄 알았는데 작동하지 않는다. let과 const 키워드는 Block Scope를 제공한다. 전..

    [TIL] JS forEach(), map(), filter()

    ✍ Today I Learned [절기를 맞춰라] 결괏값 저장은 전역 변수뿐만 아니라 배열도 활용할 수 있다. 가져오려는 데이터가 값 자체인지, 배열의 길이인지, 데이터 타입이 무엇인지 흐름을 놓치지 말자. 배열을 전체 순회하려면 for of 문을 활용한다. (반복문 안에서 삼항 연산자도 사용 가능) 데이터를 다룰 때 배열과 객체를 혼용하여 다루는 경우가 많다. (JSON 데이터가 그런 형태) // https://finance.naver.com/ 의 TOP 종목 데이터를 구조화 해보기 const top = { "거래상위": [ { name: 'KODEX 200선물인버스2X', price: 2515, updown: -100, ratio: -3.82, }, { name: '메이슨캐피탈', price: 786..

    [TIL] JS 배열

    ✍ Today I Learned while 문은 주로 반복 횟수가 예상되지 않을 때, do while 문은 일단 한 번 실행해야 할 때 사용한다. for of 문은 주로 배열을 다룰 때, for in 문은 주로 객체를 다룰 때 사용한다. 배열의 식별자는 index, 객체의 식별자는 key값 const로 배열을 선언했을 때 배열의 값은 바꿀 수 있어도 배열 자체를 변경할 수는 없다. 따라서 배열의 초기화가 필요한 로직은 let으로 선언한다. 객체는 가급적 객체이름.프로퍼티이름 방식으로 접근하는 것이 좋다. 객체의 키값으로 숫자는 사용하지 않는 것이 좋다. 연관 배열은 숫자로 된 index 대신 문자열로 된 key를 사용하는 배열이다. Array 객체가 아니므로 length 프로퍼티의 값이 0이다. [섭씨를..

    [JavaScript] 자바스크립트의 배열(Array)

    배열이란? 자바스크립트에서 배열(Array)은 이름과 인덱스로 참조되는 정렬된 값의 집합이다. 각각의 값인 요소(element)와 위치를 가리키는 인덱스(index)로 구성되어 있다. 배열의 특징 주로 const로 선언한다. 배열 이름은 보통 복수형으로 작성한다. 객체와는 다르게 index 번호로 구분되기 때문에 순서가 중요하다. 같은 배열에 있는 배열 요소끼리의 타입이 다를 수도 있다. 배열 요소의 인덱스가 연속적이지 않아도 되고, 따라서 특정 배열 요소가 비어 있을 수도 있다. (undefined) 자바스크립트에서 배열은 Array 객체로 다뤄진다. 하나의 이름으로 다양한 데이터를 다룰 수 있기 때문에 활용도가 높다. 배열의 마지막 인덱스는 배열.length - 1 이다. const fruits = ..

    [JavaScript] 자바스크립트의 반복문(while문, for문)

    반복문이란? 반복문(iteration statements)이란 프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 실행문이다. 자바스크립트에서 사용할 수 있는 반복문의 형태는 다음과 같다. while 문 do / while 문 for 문 for / in 문 for / of 문 1. while 문 while (표현식) { 표현식의 결과가 참인 동안 반복적으로 실행하고자 하는 실행문; } 특정 조건을 만족할 때까지 계속해서 주어진 실행문을 반복 실행한다. 내부에 표현식을 변경하는 실행문을 빼먹으면 무한루프에 빠지므로 주의해야 한다. 주로 반복 횟수를 예상하기 어렵거나, 특정할 필요가 없을 때 사용한다. 2. do / while 문 do { 표현식의 결과가 참인 동안 반복적으로 실행하고자..

    [TIL] JS 제어문 활용

    ✍ Today I Learned [while문 퀴즈 3개] 2로 나눈 나머지가 0이면 짝수, 1이면 홀수 정수 n의 약수를 모두 출력하려면? 정수 n을 최솟값인 1부터 최댓값인 자기 자신까지 나눠서 나머지가 0이면 약수 3자리 양의 정수 s에서 1자리 양의 정수 a의 배수를 구하려면? 최솟값인 1부터 최댓값이 자기 자신 s를 a로 나눠서 나머지가 0이면 s안에서 a의 배수 3번 퀴즈는 각각의 count를 가지기 때문에 else if 가 아니라 if로 나열해야 한다. [중첩 반복문 활용 - 구구단 전체 출력] 머리로 시뮬레이션이 가장 안 되는 중첩 반복문.. 침착하게 기준에 되는 반복 시점을 잘 생각해보기 먼저 각 반복 시점을 생각하고 그 시점에 실행되어야 하는 구문을 떠올리면 어렵지 않다. 중첩 반복문은..