함수 안에서 선언된 변수를 가지고 오고 싶습니다.

22.06.21 16:18 작성 조회수 97

0

1.markers라는 빈 배열을  전역으로 선언하고

그 배열안에 marker1이라는 마커좌표들을 넣어서 출력하고 싶은데요

marker1은 addmarker라는 함수 안에서 선언된 변수입니다.

그래서 함수 안에서 marker1이라는 값을 push해서 배열에 추가했는데

함수 바깥에서는 값이 사라집니다

 

2.그리고...marker1의 값이 push로 markers에 넣어지는데 //markers.push(marker1)

markers = marker1과는 값이 다르게 나와서 결과물이 다르네요.

어떻게해야  markers=marker1처럼 나오게 배열에 넣을 수 있을까요

 

 

 
var markers = [];
function addMarker(position) {
                        // 마커를 생성합니다

                        var marker1 = new kakao.maps.Marker({
                            position: position
                        });

                        markers.push(marker1);

                        console.log(markers)



                    }
                    console.log(markers);

 

답변 1

답변을 작성해보세요.

0

devjo님의 프로필

devjo

2022.09.04

const markers = [];

function getMarker(position) {
  // 마커를 생성합니다
  const marker = new kakao.maps.Marker({
      position: position

  });
  return marker;
}

const newMarker = getMarker(position)
markers.push(newMarker):

 

함수안에서 makers 배열에 push하는 것이 아니라 함수 호출 후 함수 밖에서 push하면 되지않을까요?