내일 진행되는 코테를 준비하고자, 그동안 프로그래머스 풀면서
내가 자주 사용했던 자바스크립트 개념들을 정리해보려고 한다!
const regexp = /검색패턴/플래그
const regexp = new RegExp(/검색패턴/, '플래그');
const regexp = new RegExp('검색패턴', '플래그');
: 매칭 결과를 불리언 값으로 반환
정규표현식.test(문자열)
const target = 'Is this all there is?';
const regexp = /is/;
regexp.test(target); // true
: 매칭 결과를 배열로 반환
⭐️ 다른 메서드와 달리 대상 문자열.match(정규표현식)
이런 순서임!!!!!!
const target = 'Is this all there is?';
const regexp = /is/;
target.match(regexp); // ['is', index: 5, input: 'Is this all there is?', groups: undefined]
const target = 'Is this all there is?';
const regexp = /is/g;
target.match(regexp); // ['is', 'is']
: 매칭 결과를 배열로 반환하나,
플래그가 g여도 첫번째 매칭 결과만 반환함.
정규표현식.exec(문자열)
const target = 'Is this all there is?';
const regexp = /is/;
regexp.exec(target); // ['is', index: 5, input: 'Is this all there is?', groups: undefined]
플래그 | 설명 |
---|---|
i | 대소문자 구분 X |
g | 모든 문자열 전역 검색 |
: splice(어디서부터 제거할건지의 인덱스, 몇개의 요소를, 새로운 요소로 대체 및 삽입...)
⭐️ 제거한 배열의 요소를 반환함
⭐️⭐️ 원본 배열이 변함!!
const arr = [1,3,30,40,55,66];
arr.splice(1,2, 90, 99, 999); // [3, 30] ⭐️
console.log(arr); // [1,90,99,999,40,55,66];⭐️⭐️
: ⭐️⭐️ 원본 배열은 변하지 않음!!
const arr = [1,2,3,4,5];
arr.slice(0, 2); // [1,2]
arr.slice(3); // [4,5]
arr.slice(-1); // [5]
: 콜백함수를 넣어줘야함
하나라도
참이면 ------> [반환] true
를 반환모두가
참이여야만 ------> [반환] true
를 반환처음으로
true를 반환하면 ------> [반환] 그 요소
를 반환처음으로
true를 반환하면 ------> [반환] 그 인덱스
를 반환 (없으면 undefined): ⭐️⭐️ 원본 문자열은 변하지 않음!!
const str = 'string';
arr.slice(0, 2); // 'st'
arr.slice(3); // 'ing'
const str = 'hello world';
arr.slice(-5); // 'world'
: ⭐️ 원본 문자열은 변하지 않음!!
const str = 'hello hi ho';
str.replace('ho', 'ha');
const str2 = 'dhfklfwe*sdfjksd**sdkfwf*ddd';
str2.replace(/[a-d]/ig, '아'); // '아hfklfwe*s아fjks아**s아kfwf*아아아'