[JavaScript] 객체 배열, 객체원소 배열(Object Array) 중복제거 하기

 



객체(Object) 원소로 갖는 배열(Array)에서 원소의 중복을 제거하는 방법을 알아봅니다.



1. 예제

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
const SalesList = [
	{
		no: '1',
		product: 'Apple',
		seller: 'Kim'
	},
	{
		no: '2',
		product: 'Banana',
		seller: 'Lee'
	},
	{
		no: '1',
		product: 'Apple',
		seller: 'Kim'
	},
	{
		no: '3',
		product: 'Melon',
		seller: 'Hong'
	}
];


2. 중복제거 하기 (Map Class)

  JavaScript의 Map Class로 생성된 변수는 중복된 Key를 허용하지 않는 다는 점을 이용한다.

중복이 제거된 상태인 Map 객체를 Array 객체로 변환한다. (Array.from)

[소스코드]

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
let uniqueMap = new Map();
let uniqueArray = new Array();


// 1. Map 적재 (중복제거)
for(const data of SalesList){
	uniqueMap.set(JSON.stringify(data), data);
}

// 2. 결과확인 (Map 객체)
uniqueMap.forEach( dt => {
	console.log(dt);
});

// 3. 배열화
uniqueArray = Array.from(uniqueMap.values());

// 4. 결과확인 (Array 객체)
console.log(uniqueArray);

[결과]

[원본 예제]

[중복제거 (Map)]

[중복제거 (Array)]

0 댓글