FrontEnd/Angular
Object 중복객체 제거
철철22
2018. 6. 8. 11:40
반응형
자주는 아니지만 객체의 특정 컬럼의 중복을 제거를 해야할 때가 있다.
그럴때 나는 밑의 방법처럼 사용한다.
getGoodsCategoryInShopUsingGET(member_sq: number): Observable {
}
category:GoodsCategory= new GoodsCategory();
// 이런식으로
get this.mainCategory = Object(this.category).filter((array, index, self) => self.findIndex((t) =>
{ return t.mainCategoryName === array.mainCategoryName && t.mainCategoryId === array.mainCategoryId; }) === index );
// ! 주의Object(this.category)를처음에Array(this.category)로 사용했다가안되서낭패를봄
2. set을이용
this.mainCategory = Array.from(new Set(Object(this.category).map(name => name.mainCategoryName)));
// Array.from(new Set(Object(this.category).map(JSON.stringify))).map(JSON.parse);
다시객체로바꾸기 new Set(myData.map(JSON.stringify))은
new Set(myData.map(JSON.stringify))화 된 myData 요소를 사용하여 Set 객체를 만듭니다.
Set 객체는 모든 요소가 고유한지 확인합니다.
그런 다음 Array.from을 사용하여 만든 세트의 요소를 기반으로 배열을 만듭니다.
마지막으로 JSON.parse를 사용하여 문자열로 된 요소를 다시 객체로 변환합니다.
반응형