[JS] CDT 로 배우는 Javascript 기능과 기술들 [21.0]

김현수·2023년 11월 3일
0

cdt

목록 보기
22/51


📰 Coding Test 에서 익히는 javscript 기능과 기술 등


문자열에서 문자열 idx 찾기

const str = "abc ddd abc";
const pat = "abc";

const idx1 = str.indexOf(pat); // 0
const idx2 = str.lastIndexOf(pat); // 8

문자열 split 정규표현식 활용 (세 개의 구분자 - 프로그래머스)

// a, b, c 로 구분자
const list = myStr.split(/[a|b|c]/);

문자열 match 정규표현식 활용 (세 개의 구분자 - 프로그래머스)

  • 조건이 만족한 모든 요소 배열로 반환
// a ~ c 가 아니면 + 연속하는 모든 문자열 요소 반환
return s.match(/[^a-c]+/g)||['EMPTY']

Map 알아보기

  • 키와 값을 연결하는데 사용

  • Object 와 차이

    • Map은 키에 다양한 자료형을 허용
    • 삽입 순서를 기억
    • 직접적인 요소 개수를 반환하는 size 프로퍼티가 존재
* new Map(): 새로운 Map을 생성

* set(key, value): Map에 키와 값을 추가 or 갱신

* get(key): 지정된 키에 해당하는 값을 반환
            키가 존재하지 않는다면 undefined를 반환
            
* has(key): Map에 특정 키가 존재하는지를 확인하여 불리언 값을 반환

* delete(key): 지정된 키를 가진 요소를 Map에서 삭제

* clear(): Map의 모든 요소를 삭제

* size: Map의 요소 개수를 반환

* entries(): 맵의 모든 키-값 쌍을 포함하는 Iterator를 반환
             이 Iterator는 [key, value] 형태의 배열을 반환
             
* forEach: 기존 Array 기능과 유사

* keys(): 맵의 모든 키를 포함하는 Iterator를 반환

* values(): 맵의 모든 값을 포함하는 Iterator를 반환
let obj = {};
obj[10] = 'Number';
console.log(obj['10']); // 출력: 'Number'
console.log(obj[10]);   // 출력: 'Number' - 여기서 10은 '10' 문자열로 변환됨

let map = new Map();
map.set(10, 'Number');
console.log(map.get(10)); // 출력: 'Number'
console.log(map.get('10')); // 출력: undefined - 숫자 10과 문자열 '10'은 다른 키

BigInt 에 대해서 알아보기

  • JavaScript에서 매우 큰 정수를 나타낼 수 있는 원시 데이터 타입
  • int 그 이상의 크기의 숫자를 안전하게 다루기 위해서 BigInt 타입
암호화: 큰 숫자를 사용하는 암호화 알고리즘에서 
       정확한 숫자 계산이 필요할 때
       
정밀한 시간 스탬프: 시간의 정밀한 표현이 필요할 때, 
                 예를 들어 나노초 단위의 정밀한 시간을 다루어야 할 때
                 
대규모 데이터 세트: ID나 시퀀스 번호가 매우 크게 증가하는 
                 데이터베이스 시스템에서
                 
과학적 계산: 매우 큰 숫자가 필요한 과학적 또는 수학적 계산에서

금융: 정확한 숫자 계산이 필수적인 금융 분야에서 큰 금액을 다룰 때

Date 사용

const date1 = [2021, 12, 28]
const date2 = [2021, 12, 29]

const solution = (date1, date2) 
		=> new Date(date1) < new Date(date2) ? 1 : 0;
profile
일단 한다

0개의 댓글