728x90
반응형
자바스크립트 배열 중복제거는 되게 많던데.. 객체로 된 배열 중복제거는 정보가 잘 안 나와있어서 정리함.
이거 혼자거 끙끙 3시간 고민하다가 검색했더니 나옴..;; 좋다고 해야할지..
뭔가 직접 로직 짜보려고 삼중포문 써가면서 하다가 그냥 이거 씀...;;
누군가는 꼭 도움이 될거라 믿음..!!
const arr = [
{ id: 1, name: "test1" },
{ id: 2, name: "test2" },
{ id: 2, name: "test3" },
{ id: 3, name: "test4" },
{ id: 4, name: "test5" },
{ id: 5, name: "test6" },
{ id: 5, name: "test7" },
{ id: 6, name: "test8" }
];
//중복제거 코드!!
const filteredArr = arr.reduce((acc, current) => {
const x = acc.find(item => item.id === current.id);
if (!x) {
return acc.concat([current]);
} else {
return acc;
}
}, []);
일단 코드는 이렇고 예시를 크롬 콘솔로 작성해봄.
reduce를 사용해서 코드 작성 후 새로운 변수에 저장하면 아래와 같이 배열 내 중복된 객체들은 제거됨!
출처 : https://dev.to/marinamosti/removing-duplicates-in-an-array-of-objects-in-js-with-sets-3fep
반응형
'개발 > 자바스크립트' 카테고리의 다른 글
[handlebars.js] - 객체의 key값 value값 각각 가져오기 (0) | 2021.12.10 |
---|
댓글