Lodash는 배열에서 중복 제거
이것은 내 데이터입니다.
[
{
url: 'www.example.com/hello',
id: "22"
},
{
url: 'www.example.com/hello',
id: "22"
},
{
url: 'www.example.com/hello-how-are-you',
id: "23"
},
{
url: 'www.example.com/i-like-cats',
id: "24"
},
{
url: 'www.example.com/i-like-pie',
id: "25"
}
]
Lodash를 사용하면 중복 ID 키가있는 객체를 어떻게 제거 할 수 있습니까? 필터, 맵 및 고유하지만 확실하지 않은 것.
내 실제 데이터 세트는 훨씬 크고 키가 더 많지만 개념은 동일해야합니다.
_.unique
lodash 4.0.0에 이러한 변경 사항이 있으므로 현재 버전에서는 더 이상 작동하지 않습니다 . 기능적으로 _.uniq, _.sortedUniq, _.sortedUniqBy 및 _.uniqBy로 분할되었습니다.
_.uniqBy
어느 쪽이든 사용할 수 있습니다
_.uniqBy(data, function (e) {
return e.id;
});
또는
_.uniqBy(data, 'id');
설명서 : https://lodash.com/docs#uniqBy
lodash의 이전 버전 (<4.0.0)
데이터가 고유해야 id
하고 데이터가 data
변수에 저장되어 있다고 가정하면 다음과 같이 unique () 함수를 사용할 수 있습니다 .
_.unique(data, function (e) {
return e.id;
});
아니면 간단히
_.uniq(data, 'id');
lodash 메소드 _.uniqWith를 사용할 수 있습니다. lodash 4.17.2의 현재 버전에서 사용 가능합니다.
예:
var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];
_.uniqWith(objects, _.isEqual);
// => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]
더 많은 정보 : https://lodash.com/docs/#uniqWith
또는 단순히 배열을 사용하려면 union을 사용하십시오 .
다음과 같이 unionBy 를 4.0.0 이상 에 사용할 수도 있습니다 . let uniques = _.unionBy (data, 'id')
_.uniqBy ()를 사용 하십시오 . 중복없는 버전의 배열을 만듭니다.
이것은 새로운 방법이며 4.0.0 버전에서 사용할 수 있습니다.
_.uniqBy(data, 'id');
또는
_.uniqBy(data, obj => obj.id);
참고 URL : https://stackoverflow.com/questions/31740155/lodash-remove-duplicates-from-array
'Programing' 카테고리의 다른 글
두 세트의 교집합을 계산하는 방법은 무엇입니까? (0) | 2020.05.16 |
---|---|
static_cast <>와 C 스타일 캐스팅의 차이점은 무엇입니까? (0) | 2020.05.16 |
값으로 배열 인덱스를 찾는 방법은 무엇입니까? (0) | 2020.05.16 |
어떤 기본의 정수를 문자열로 변환하는 방법? (0) | 2020.05.16 |
linq 결과를 HashSet 또는 HashedSet로 변환하는 방법 (0) | 2020.05.16 |