[JavaScript] Object로 구성된 Array 특정 Key의 Value값 추출 - Array.prototype.map()


 


DataTable 타입의 변수에서 컬럼값을 추출해 내는 것 처럼,

Object를 원소로 갖는 Array타입 변수에서 특정 Key값의 Value값들을 추출하는 방법과 

Map을 이용한 여러가지 샘플들을 다뤄봅니다.



1. 예제

(Key - Value) 형태의 Object 객체로 구성된 Array 객체입니다.

let data = new Array();

data.push(
	{
		FRUIT : "apple"
		, PRICE : "1200"
		, ORIGIN : "china"
	}
)
data.push(
	{
		FRUIT : "banana"
		, PRICE : "2000"
		, ORIGIN : "america"
	}
)
data.push(
	{
		FRUIT : "melon"
		, PRICE : "1200"
		, ORIGIN : "korea"
	}
)
data.push(
	{
		FRUIT : "tomato"
		, PRICE : "4000"
		, ORIGIN : "korea"
	}
)


[결과]



2. 특정 Key로의 Value값들 추출 -  Array.prototype.map()

사실 너무 간단합니다. map람다식을 이용한 추출 방법입니다. 

예제의 Array에 Object "FRUIT" 키의 값들이 추출된 모습입니다.


data.map(row=>row.FRUIT)


[결과]


3. Array.prototype.map() 을 이용한 특정조건 값의 조작

포스팅 내용이 너무 단순해서, 다른 여러가지 조작을 해봤습니다.

1) 수식

아래는 위 예제에서 "ORIGIN"이 "korea"인 행들만 "PRICE"의 값을 200 더한 것입니다.

let temp = data.map(function(row)
{
	if(row.ORIGIN == 'korea')
	{
		row.PRICE = parseInt(row.PRICE) + 200;
	}
	

	return row;
});

[결과]



2) 특정 Object의 (Key-Value) 삭제

이번에는 "ORIGIN"이 "korea"인 행들만 "PRICE"를 지우는 예제입니다.

let temp = data.map(function(row)
{
	if(row.ORIGIN == 'korea')
	{
		delete row.PRICE;
	}


	return row;
});

[결과]

0 댓글