본문 바로가기

javascript/Methods

TIL no.23 - 배열 반대로 뒤집는 함수 Array.reverse() * split(), join() 활용 : JavaScript

 

 

Array.prototype.reverse() 는 배열의 순서를 반대로 리턴하는 메소드입니다.

예시를 사용해서 어떤 식으로 사용가능 한 지에 대해 이해해보고 활용해보도록 하겠습니다 !🏋🏼‍♀️

 

 

 

 

 

 

 

 

reverse() 는 오직 배열만을 뒤집은 반대 순서대로 정렬하여 재배열하는 메소드입니다.

그렇기 때문에 위와 같은 arr 배열을 reverse() 한다면 ,

 

 

바로 위와 같은 결과를 리턴합니다.

 

-> 배열의 순서를 반대로 재정렬하고 싶을 때 사용합니다.

arr 자체에 reverse()를 사용하면 반대로 재정렬 된 arr를 리턴합니다.

arr 자체의 값을 바꾸지 않을 것이라면 반대로 재정렬 된 arr의 값을 받을 다른 변수를 생성해주는 것이 좋습니다.

ex) let arrReverse = arr.reverse() ;

 

 


 

                           정수인 수를 반대 순서대로 리턴해라.                         

ex) -1345   ------->   -5431         or         47362  --------->  26374

 

위와 같은 문제가 주어졌을 때 , 어떤 식으로 해결할 것인가 ? 

딱 봤을 때 저도 굉장히 간단한 문제라고 생각해서 수를 반대로 바꾸는 메소드만 생각해내면 된다고 생각했는데요 !

 

⛳️생각해내야 할 것.

1. 반대로 뒤집는 메소드 reverse() 는 array에만 적용할 수 있다.

2. 주어진 정수는 Number , 이것을 어떻게 array로 변형하여 뒤집을 것인지.

3. 만일 -가 들어갔을 때 , 어떻게 - 를 제외한 나머지만 반대로 뒤집고 다시 -를 제자리에 붙일 것인지.

 

 

⚾️사용한 메소드

- toString()

- reverse() 

- split()

- join()

 

 

위에서 reverse() 는 설명이 되었던 것 같고, split에 대해서 설명해드리겠습니다.

split()은 되게 자주 쓰이는 메소드로 알고리즘 문제를 풀 때도 많이 사용되는 것 같습니다.

 

 

toString()  Number을 String 문자열로 변형해주는 메소드입니다.

 

 

split() 은 지정한 특정 문자열을 기준으로 문자열을 분할하여 배열로 넘겨주는 메소드입니다.

 

 

     문자열   ➡️   배열     

 

 

 

위와 같이 str 이라는 변수의 값에서 기준이 되는 문자열을 '-'로 정하여 기준에 의해 분할 되게 합니다. 

(기준이 되는 문자열이 "" 이와 같이 없을 때는 한 문자열씩 배열로 만들어집니다.)

 

이것의 결과로는, 

 

이렇게 나오게 되는데 reverse() 메소드와는 다르게 메소드를 적용한 str 자체가 재정렬되는 것이 아니기 때문에 새로운 변수를 지정해서

배열 값을 그 변수에 지정해주는 것이 좋습니다.

 

왼쪽의 결과는 오른쪽 입니다.

 

 

 

 

join() 배열의 모든 요소를 연결하나의 문자열로 만듭니다.

 

 

만일 위의 코드처럼 join() 괄호 안에 아무런 문자열로 정해주지 않았을 때는 ,

(콤마) 를 문자열사이사이에 넣어 배열하나하나를 구분하여 문자열로 만들어줍니다.

 

 

 

만일 "" 안에 아무것도 없는 것을 join() 괄호 안에 넣어준다면 ?!

모든 배열을 사이에 구분 없이 붙여서 하나의 문자열을 만들어줍니다.

 

 

 

또 다른 예시는 아래와 같습니다.

 

왼쪽의 결과는 오른쪽 과 같습니다.

 

 

 

지금까지 설명했던 메소드들을 이용해서

 

 

 

문제를 해결해봤습니다.

잘..한건진 모르겠어서 다르게 하는 방식에 대해서도 더 생각해보고 고심해보려합니다. 화..이팅 !