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. 음수 인덱스 사용 가능. 얕은 복사본 반환.
    • 주의사항 : 객체를 slice한 경우 원본 배열과 새 배열은 모두 동일한 객체를 참조. 즉 하나 바뀌면 둘 다 반영됨. String  Number 객체가 아닌 문자열과 숫자의 경우 서로 영향을 주지 않음(새 배열에 복사하므로).
  • 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()


참고자료

[JS] 코딩테스트에서 필요한 String문법 정리