Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 문자열 좌표 목록을 위도·경도 부동소수점 배열로 변환하는 방법

좌표 데이터를 다루다 보면 위도와 경도가 하나의 문자열로 합쳐져 있는 경우를 자주 만나게 됩니다. 예를 들어 다음과 같은 문자열 배열이 있다고 가정해 보겠습니다.

var listOfStrings = ["10.45322,-6.8766363", "78.93664664,-9.74646646", "7888.7664664,-10.64664632"];

이처럼 쉼표(,)로 구분된 문자열 좌표들을 위도(latitude)경도(longitude)라는 두 개의 별도 부동소수점(float) 배열로 변환하려면, JavaScript의 split() 메서드와 map() 메서드를 함께 사용하면 간단하게 처리할 수 있습니다.

변환 원리

핵심 로직은 다음과 같습니다.

  • split(','): 각 문자열을 쉼표를 기준으로 나누어 위도 값과 경도 값으로 분리합니다.
  • map(Number): 분리된 문자열을 숫자(부동소수점) 타입으로 변환합니다.
  • forEach + 인덱스 활용: 변환된 값의 인덱스(0 또는 1)에 따라 각각 latitude 배열과 longitude 배열에 저장합니다.

예제 코드

var listOfStrings = ["10.45322,-6.8766363", "78.93664664,-9.74646646", "7888.7664664,-10.64664632"];
var latitude = [];
var longitude = [];
listOfStrings.forEach(obj => obj.split(',')
.map(Number)
.forEach((value, index) => [latitude, longitude][index].push(value))
);
console.log("양수 값은 위도(latitude)입니다 =")
console.log(latitude);
console.log("음수 값은 경도(longitude)입니다 =")
console.log(longitude);

프로그램 실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.

node fileName.js

여기서는 파일 이름이 demo180.js라고 가정합니다.

실행 결과

프로그램을 실행하면 아래와 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\javascript-code> node demo180.js
양수 값은 위도(latitude)입니다 =
[ 10.45322, 78.93664664, 7888.7664664 ]
음수 값은 경도(longitude)입니다 =
[ -6.8766363, -9.74646646, -10.64664632 ]

정리

이 방식의 장점은 반복문을 직접 작성하지 않고도 split(), map(Number), forEach()만으로 문자열 좌표를 깔끔하게 숫자 배열로 분리할 수 있다는 점입니다. 실무에서는 지도 API나 위치 기반 서비스를 개발할 때 이러한 좌표 파싱 로직이 자주 필요하므로, 꼭 익혀두면 유용하게 활용할 수 있습니다.