본문 바로가기
ComputerScience/알고리즘, 프로그래머스

[JS] String, Array, Object 자주 쓰이는 메소드 총정리 cheat sheet

by VictorMeredith 2023. 2. 7.

1.String

- str.length : 문자의 길이 반환.

 

- str.at(index) : index에 있는 문자를 반환, -1 일 경우 마지막문자 반환.

 

- str.indexOf(찾을문자열[,x]) : 찾을문자열을 처음 발견한 곳의 index 반환, 발견하지 못한 경우 -1 반환. 

   두번째 파라미터 x 가 입력되면, 첫인덱스를 x로 이동하여 역방향으로 검색한다.

 

- str.lastIndexOf() : str의 특정문자가 마지막으로 등장하는 index를 반환한다.

 

- str.replace(바꿀놈, 뭘로바꿀까) : 바꿀놈을 뭘로바꿀까로 바꿔줌

   (바꿀놈에는 정규식도 사용 가능, 뭘로바꿀까에는 콜백함수도 사용 가능) (여럿일 경우 한번만 바꿈) (원본 값을 바꾸지 않음)

 

- str.split(구분자 [,제한]) : 구분자를 기준으로 string을 나눠서 배열로 담아줌 (원본 값을 바꾸지 않음) (제한이 입력되면 제한까지만 담아줌)

 

- str.slice(시작,끝) : 시작index부터 끝index까지 글자를 잘라서 리턴해줌 음수를 넣을 수 있음

 

- str.toUpperCase(), str.toLowerCase(), a.toString(): 이거 모르면 메소드말고 js 기초교과서부터 다시 공부하자.

 

- str.repeat(숫자) : 숫자만큼 str를 반복해서 리턴해준다.

 

- str.includes(찾을거) : 찾을거가 str안에 있는지 검사해서 true / false 를 리턴해준다. 두번째파라미터를 넣으면 검색을 시작할 index를 의미한다.

 

- str.match(정규식) : 정규식에 맞는 문자열을 리턴. 여러개면 배열로 리턴해준다. 굉장히 요긴하다.

 

- regex.test(str) : regex는 정규식으로, str에 정규식에 맞는것이 포함되어 있는지 검사해서 true / false 를 리턴해준다. 요긴하다.

 

2. Array 

- arr.sort(콜백) : 배열을 정렬한다. 원래 문자정렬이다. 콜백 인자를 활용해서 다양하게 정렬할 수 있다.

   arr.sort( (a,b) => a - b ) : 오름차순

   arr.sort( (a,b) => b - a ) : 내림차순 

 

- arr.join(구분자) : 배열을 구분자로 연결하여 문자열로 반환한다. arr.join('') : 배열을 한방에 연결해준다. 매우 요긴하다.

 

- arr.reverse() : 배열의 순서를 뒤집어준다. 꽤 좋다.

 

- arr.splice(시작,갯수,추가할넘?) : 배열을 시작index부터 갯수만큼 자르고 그 부분을 리턴한다. (원본 배열을 변경한다!)

   추가? 를 넣으면 그 부분을 삭제하고 새로운 추가할넘으로 바꿔준다. (끝index 안넣으면 시작부터 끝까지 잘라낸다.)

   중요하므로 예제)

let arr = [1,2,3,4,5];
let 자른거 = arr.splice(1,3); //index1부터 3개 자른다 -> [2,3,4];
console.log(arr) //[1,5]

- arr.slice(시작,끝+1) : 배열의 시작~끝 을 리턴한다. (원본 배열을 변경하지 않는다. 일부분을 리턴한다고 봐야한다.)

 

- arr.filter(콜백함수) : 콜백함수 return값이 true인 넘들만 모아서 새 배열에 담아서 리턴한다. 개꿀이다. 엄청 자주쓰인다.

 

- arr.reduce((누산기, 현재값)=>{}, 초기값) : 원하는 시작점부터 모든 배열의 요소들을 돌면서 어떤 값을 누적할 때 사용한다.(앞 요소부터) 누산기 기능을 하는 메소드다. 사실 개인적으로 잘 안쓰긴 하는데 요긴한 편이다. 

 

- arr.map((e,i)=>{}) : arr를 순회하면서 콜백함수의 반환된 값들을 모두 요소로 담아서 새로운 배열을 리턴한다. e는 순회하는 도중의 요소 자기자신, i는 index다.

참고로 고수들은 filter map reduce 좋아한다. 가독성이 좋댄다. 난 아닌거같은데.. 리액트할때만 쓰게 되더라.. 어쨌든 항상 다양한 상황을 고려하고 특히나 배열을 다룰때는 시간복잡도를 꼭 고려하여 코드를 설계하자.

시간복잡도 참고 : https://victormeredith.tistory.com/31

 

[Lv.1] 과일 장수 (예제로 알아보는 JS 배열의 시간복잡도)

1. 문제 2. 풀이 1 ( 안되는 풀이) function solution(k, m, score) { var answer = 0; let arr = score.sort((a,b)=>b-a) 큰 순서대로 배열을 정렬 while(arr.length>=m){ m으로 나눠지지 않을때까지 let f = arr.splice(0,m); 앞쪽부터 m

victormeredith.tistory.com

 

- arr.push(item) : item을 배열 맨 뒤에 추가

 

- arr.unshift(item) : item을 배열 맨 앞에 추가

 

- arr.pop() : 배열의 맨 뒤 요소 삭제

 

- arr.shift() : 배열의 맨 앞 요소 삭제

 

- arr.indexOf(item) : 배열에서 처음 발견된 item 의 index를 return한다.

 

- arr.lastIndexOf(item) : 배열에서 마지막으로 발견된 item의 index를 return한다.

 

- arr.includes(item) : 배열에 item이 포함되어 있으면 true, 아니면 false를 반환한다.

 

- for(i in arr){} : enumerable arr 를 순회한다. es6문법이고 틀딱이면 꼭 외우자.

 

3. Object자료

- for(key in obj){} : enumerable obj 를 순회한다. key는 각각의 key이다.

 

- Object.keys(obj) : obj의 key만 담은 배열을 리턴한다.

 

- Object.values(obj) : obj의 value만 담은 배열을 리턴한다.

 

- Object.entries(obj) : [key, value] 쌍을 각각 담은 배열을 리턴한다. 2차원배열로 변환하고 Map자료형으로 만들 때 사용한다.

 

객체는 이거말고는 그냥 검색해서 사용해도 될 듯 하다. 개인적으로 다른 건 잘 안써서 안외워졌다. 

댓글