[javascript] JSON 데이터에서 속성값으로 중복 제거하기

JSON(JavaScript Object Notation) 데이터에서 특정 속성의 값이 중복되는 경우, 이를 제거하는 방법에 대해 알아보겠습니다.

JSON 데이터 예시

먼저, 다음과 같은 예시의 JSON 데이터를 가정해봅시다.

{
  "employees": [
    { "id": 1, "name": "John Doe" },
    { "id": 2, "name": "Jane Smith" },
    { "id": 3, "name": "John Doe" }
  ]
}

위의 JSON 데이터에서 “name” 속성값에는 “John Doe”와 “Jane Smith”가 중복됩니다.

중복 제거하기

JavaScript에서 중복된 속성값을 가진 요소를 제거하려면, Set 데이터 구조와 Array의 내장 메소드를 사용할 수 있습니다. 아래는 중복된 “name” 값을 제거하는 예시 코드입니다.

const data = {
  "employees": [
    { "id": 1, "name": "John Doe" },
    { "id": 2, "name": "Jane Smith" },
    { "id": 3, "name": "John Doe" }
  ]
};

const uniqueNames = [...new Set(data.employees.map(employee => employee.name))];

const uniqueEmployees = data.employees.filter(employee => 
  uniqueNames.includes(employee.name)
);

const uniqueData = { "employees": uniqueEmployees };
console.log(uniqueData);

위 코드에서 Set을 이용하여 중복을 제거하고, filter 메소드를 사용하여 유니크한 값을 가진 요소들을 필터링합니다.

결과

위의 코드를 실행하면, 중복된 “John Doe”의 값이 제거된 결과를 얻을 수 있습니다.

결론

JSON 데이터에서 속성값으로 중복을 제거하는 방법에 대해 알아보았습니다. JavaScript에서는 Set을 이용하여 중복을 제거하고, filter 메소드를 사용하여 중복된 값을 제거할 수 있습니다.