JavaScript에서는 map() 메서드를 활용하면 첫 번째 배열(기준 배열)이 정한 순서대로 객체의 값을 추출하여 새로운 배열을 만들 수 있습니다.
객체와 배열 준비하기
먼저 다음과 같은 객체가 있다고 가정해 보겠습니다.
var lastName = {
"John": "Smith",
"David": "Miller",
"Bob": "Taylor"
}그리고 값의 순서를 결정할 기준이 되는 배열은 다음과 같습니다.
var firstName = [
"Bob",
"John",
"David"
]map()으로 원하는 순서대로 값 가져오기
firstName 배열의 요소 순서를 기준으로 lastName 객체에서 해당 키의 값을 순서대로 꺼내려면 map()을 사용하면 됩니다. 다음은 전체 코드입니다.
예제
var firstName = [
"Bob",
"John",
"David"
]
var lastName = {
"John": "Smith",
"David": "Miller",
"Bob": "Taylor"
}
var values = firstName.map(getValues => lastName[getValues]);
console.log(values);프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 사용합니다.
node fileName.js
출력 결과
여기서는 파일 이름이 demo168.js라고 가정합니다. 실행하면 다음과 같은 결과가 출력됩니다.
PS C:\Users\Amit\javascript-code> node demo168.js [ 'Taylor', 'Smith', 'Miller' ]
코드 설명
firstName.map(getValues => lastName[getValues]) 구문은 firstName 배열의 각 요소(Bob, John, David)를 차례로 순회하면서, 각 요소를 키로 사용해 lastName 객체에서 대응하는 값(Taylor, Smith, Miller)을 가져옵니다. 그 결과 firstName 배열의 순서를 그대로 유지하는 새로운 배열이 반환됩니다.
이처럼 map()을 사용하면 기준 배열의 순서에 따라 객체의 값을 손쉽게 재배열할 수 있으며, 원본 배열과 객체는 변경되지 않습니다.