WEB/JavaScript
[JS / 알고리즘] JS 메서드 정리
jimyu
2024. 3. 22. 17:50
1. 계산 관련
- 올림 Math.ceil()
- 내림 Math.floor()
- 반올림 Math.round()
- 소수점 반올림
- Number.toFixed(소수점 이하 자리수) : 소수점 반올림
- Number.toPrecision(소수점 이하 자리수) : 숫자를 문자열로 바꿔주는데 소수점 반올림
- Number.MIN_SAFE_INTEGER : JS에서 안전한 최소 정수값 혹은 (-(253 - 1))
- 음수 값만 테스트 케이스로 주어지는 경우들 예외 처리에 유용(max값을 MIN_SAFE_INTEGER로 두는 등 활용 가능)
2. 문자열
- str.charAt(인덱스)/str[인덱스] : 특정 위치 문자열 반환
- str.charCodeAt(인덱스) : 특정 위치 문자 유니코드 값 반환
- str.includes(문자열, length(선택)) : 문자열이 특정 문자열 포함하는지 확인. length는 검색 시작할 위치.
문자열 탐색하기
- str.startsWith(문자열, length(선택)) : 특정 문자열로 시작하는지 확인.
- str.endsWith(문자열, length(선택)) : 특정 문자열로 끝나는지 확인.
- str.indexOf(value, start(선택)) : 특정 문자열이 처음 위치하는 인덱스 반환. 없으면 -1 반환, 대소문자 구분.
- str.lastIndexOf(value, start(선택)): 특정 문자열이 마지막으로 취치하는 인덱스 반환. start는 검색 멈출 인덱스. 없으면 -1 반환.
- str.match(정규식) : 정규표현식에 맞는 문자열 배열 객체로 반환. 없으면 null 반환.
- str.search(정규식) : 정규표현식에 맞는 문자열 위치 값 반환.
문자열 자르기
- str.substr(start, length(선택)) : 문자열 검색 시작 인덱스, 잘라낼 문자열 길이. => deprecated!
- str.substring(start, end) : start 인덱스 이상, end 인덱스 미만인 문자열 반환
- str.split()
문자열 가공
- str.toUpperCase()
- str.toLowerCase()
- str.slice(시작인덱스, 종료인덱스(선택)) : 원본 문자열 훼손하지 않고 문 자열 잘라서 반환. 종료인덱스 문자는 포함하지 않음! 음수 인덱스 사용 가능.
- str.replace(찾을 문자열, 대체할 문자열)
- str.replaceAll(찾을 문자열, 대체할 문자열)
2. 배열
배열 생성하기
- Array.from(arrayLike, mapFn(선택), thisArg(선택)) : 유사 배열 객체 생성
- 이때 mapFn은 element, index로 이루어짐.
배열 자르기
- Array.slice([begin(선택), [, end(선택)]]) : 원본 배열 변형 X. 음수 인덱스 사용 가능. 얕은 복사본 반환.
- Array.splice(start[, deleteCount(선택)[, item1(선택)[, item2(선택)[, ...]]]]) : 배열의 기존 요소를 삭제/교체/추가해서 원본 배열 변경. 반환 값은 제거한 요소를 담은 배열.
배열 정렬
- Array.sort(compareFn(선택)) : 원본 배열 수정. 반환값으로 정렬된 원본 배열을 반환한다.
- compareFn 사용법 : a, b 순서로 원소가 있다고 할 때, compareFn이 음수값이면 a,b 순으로, 양수값이면 b, a 순으로, 0이거나 NaN이면 a, b가 같다고 간주. 이 함수가 없으면 sort는 원소들을 모두 문자열로 변환해서 유니코드 값 기준으로 정렬한다.
- Array.toSorted(compareFn(선택)) : 원본 배열 보존. 반환값으로 정렬된 새 배열 반환한다.
- Array.reverse() : 원본 배열을 역순으로 정렬해서 반환.
- Array.toReversed() : 역순으로 정렬한 새 배열 반환. 원본 배열은 변경하지 않음.
배열 가공
- Array.shift() : 첫 번째 요소를 제거하고 제거한 요소를 반환한다. 원본 배열이 변경된다.
- Array.unshift(elements) : 배열 앞에 지정해준 요소들을 추가한다. 원본 배열이 변경된다. 변경된 배열의 길이를 반환한다.
- Array.pop() : 배열의 마지막 요소를 제거하고 제거한 요소를 반환한다.원본 배열이 변경된다.
- Array.push(elements) : 지정한 요소들을 배열 마지막에 추가한다. 새 배열의 길이 반환.
- Array.toString() : 배열 요소들을 문자열로 변경한다(, 들어감)
- Array.flat(depth(선택)) : 중첩되어 있는 배열 속 하위 배열 요소를 평탄화한다. depth 지정하면 어느 깊이까지 평탄화할지 지정 가능. 기본값은 1. 평탄화한 새 배열 반환.
배열 순회
2024.03.17 - [알고리즘] - [JS / 알고리즘] forEach, filter, map, reduce
- Array.reduce()
- Array.forEach()
- Array.map()
- Array.filter()
배열 탐색
- Array.some(callbackFn, thisArg(선택)) : callbackFn 테스트 통과한 값이 하나라도 있으면 true 반환 아니면 false 반환. callbackFn은 element, index, array를 인자로 가질 수 있다.
- Array.every(callbackFn, thisArg(선택)) : some과 다른 건 동일하고 다만 테스트를 모든 요소가 통과해야 true 반환함.
- Array.fill(value, start(선택), end(선택)) : 배열을 특정 정적 값으로 변경. end 인덱스 미만까지 채운다. 수정된 배열을 반환.
- Array.find(callbackFn, thisArg(선택)) : 콜백 함수 테스트를 통과하는 첫 요소를 반환한다.
- Array.at(index) : 특정 인덱스의 항목 반환. 음수 인덱스도 사용 가능!
3. Set
- Set.size : 객체가 가지고 있는 개체의 개수. 이 속성을 변경하는 것은 불가하다.
- Set.has가 Array.includes보다 평균적으로 빠르다고 한다!
- Set.add(value)
- Set.delete(value)
- Set.clear()
4. Map
- new Map(iterable(선택))
const myMap = new Map([
[1, "one"],
[2, "two"],
[3, "three"],
]);
- Map.size
- Map.set(key, value)
- Map.delete(key)
- Map.clear()