728x90
Spring Boot + Vue 로 프로젝트를 진행하면 List 에서 중복된 값들을 제외 하는 경우가 많이 발생하고 한다. 여기 저기서 계속 찾아보다가, 귀찮아서 정리를 해봤다~~~:)
1. java 에서 List 의 중복 값 제거
- For 문을 이용하여 하나씩 비교 하 수도 있지만, HashSet 을 이용하면 간단하게 중복된 object 를 제거 할 수 있다.
List<CustomVO> customVoList = new List<CustomVO>();
customVoList.add(test1);
customVoList.add(test2);
HashSet<CustomVO> customVoListSet = new HashSet<CustomVO>(customVoList);
List<CustomVO> processedList = new List<CustomVO>(customVoListSet);
2. javascrips 에서 List 의 중복 제거
- java 와 비슷하게 set 을 이용하여 제거 할 수 있습니다.
let dupList= ['key', 'value', 'key', 'value'];
let uniqueList = [...new Set(dupList)];
- filter 를 이용하여 set 처럼 쉽게 제거 할 수 있습니다.
let dupList= ['key', 'value', 'key', 'value'];
let x = (dupList) => dupList.filter((v,i) => dupList.indexOf(v) === i)
x(dupList)
3. javascript 에서 json List 의 중복 제거
- Array.from 을 이용하여 json 의 key, value 를 비교하여 중복 값을 제거 할 수 있다.
let dupJson = [ { "key" : "value"}, {"key" : "value"} ]
let uniqueJson = Array.from( dupJson.reduce((m, t) => m.set(t.key, t), new Map()).values());let dupJson = [ { "key" : "value"}, {"key" : "value"} ]
- filter 를 이용해서 중복 제거도 가능하다.
let dupJson = [ { "key" : "value"}, {"key" : "value"} ]
let uniqueJson = dupJson.filter((thing, index) => {
const _thing = JSON.stringify(thing);
return index === dupJson.findIndex(obj => {
return JSON.stringify(obj) === _thing;
});
});
요롷게 잘 써보좌~:)
'개발' 카테고리의 다른 글
Docker ubuntu Image Build Proxy 설정 (0) | 2021.07.19 |
---|---|
Portainer 설치 및 사용법 : Docker Container Management Web Service (0) | 2021.07.19 |
Workspaces Layout Change 2x2 in Ubuntu 18.04 (0) | 2021.07.19 |
Ubuntu Use MagicMouse2 & Pad2 : Touch Scroll Working (0) | 2021.07.19 |
postgreSQL 에서 변수 선언하여 사용하는 방법 : Declare and use variable (0) | 2021.07.19 |