문자열에서 문자열 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
와 차이
* 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 에 대해서 알아보기
암호화: 큰 숫자를 사용하는 암호화 알고리즘에서
정확한 숫자 계산이 필요할 때
정밀한 시간 스탬프: 시간의 정밀한 표현이 필요할 때,
예를 들어 나노초 단위의 정밀한 시간을 다루어야 할 때
대규모 데이터 세트: ID나 시퀀스 번호가 매우 크게 증가하는
데이터베이스 시스템에서
과학적 계산: 매우 큰 숫자가 필요한 과학적 또는 수학적 계산에서
금융: 정확한 숫자 계산이 필수적인 금융 분야에서 큰 금액을 다룰 때
Date 사용
const date1 = [2021, 12, 28]
const date2 = [2021, 12, 29]
const solution = (date1, date2)
=> new Date(date1) < new Date(date2) ? 1 : 0;