코딩테스트

코딩테스트 풀이 - 배열 두 배 만들기 | map

히새 2023. 10. 22. 01:21

 

🎈 내가 생각한 방법

 

반복문 돌려서 배열의 원소 *2 한 다음 결과값 반환하기

-> 이 방법이 뭔가 이상해서 배열 아이템 대체 등등 찾아보다가 새로운 push pop 등등은 기존 배열을 수정한다는 사실을 떠올렸다. 그래서 그럼 새로운 배열을 만들어내는 애들은 뭐였지..? 하고 찾아보니 map 이 있었다!

그래서 map 을 이용해보았는데,,, 

결과는 널널널널... 뭐가 잘못된 것일까

 

 

아하.. 쓰는 방법이 틀렸던 것이였다.. ㅎㅎ

 

일반함수 모양으로 작성해보자면 이러한데, item * 2 앞의 return 을 넣지 않으면 널널널이 나온다.

왜 return 을 두 번 해줘야만 제대로 값이 나오는 것일까?...

item * 2 앞의 return 은 answer 이라는 배열으로 반환해주는 거고 return answer 의 return 은 배열 자체를 반환해주는건가?


🎈 배열의 메써드 map

 

map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환한다.

 

배열.map( callback ( currentValue, index, array ), thisArg )

callback 함수를 매개변수로 가지고, 이 콜백함수는 세 가지의 인수를 가진다.

 

1. currentValue : 처리할 현재 요소

2. index : 처리할 현재 요소의 인덱스

3. array : map()을 호출한 배열

4. thisArg : 콜백함수를 실행할 때 this 로 사용되는 값