우리는 2016 년입니다. 따라서 성능과 코드를 고려하여 배열에 비 중복 항목을 삽입하는 가장 좋은 방법을 알고 싶습니다.Typescript 배열 중복되지 않는 항목 삽입
편집 : 예를 들어
:
내 목적은 다음과 같습니다
obj = {id: 1, a: 2, b: 3, c: 4}
내 배열 편곡 :
arr.push(obj);
arr.push(obj); // Avoid this duplicate obj
감사합니다.
우리는 2016 년입니다. 따라서 성능과 코드를 고려하여 배열에 비 중복 항목을 삽입하는 가장 좋은 방법을 알고 싶습니다.Typescript 배열 중복되지 않는 항목 삽입
편집 : 예를 들어
:
내 목적은 다음과 같습니다
obj = {id: 1, a: 2, b: 3, c: 4}
내 배열 편곡 :
arr.push(obj);
arr.push(obj); // Avoid this duplicate obj
감사합니다.
는 언어의 네이티브 pushIfUnique
없다, 그래서 당신은 옵션이 있습니다
(1) 순서가 중요하지 않은 경우 단지 식별자로 Map
을 id
(또는 무엇이든)를 사용합니다.
(2) 주문이 중요한 경우Array.find
을 사용하여 작은 도우미 기능을 작성할 수 있습니다. 예 :
const pushIfUnique = (predicate, object, array) => {
if (!array.find(item => predicate(object, item))) {
array.push(object);
}
};
감사합니다! 새로운 Sets 객체를 사용하는 방법을 찾을 수 있는지 궁금합니다 ... – Eusthace
속성 집합을 사용하여 객체를 식별하는 경우 (예를 들어'id' 때문에 고유합니다) 'Set'에는 아무 것도 없을 것입니다 b/c ['has'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set/has)는 저장된 전체 값으로 만 작동합니다. 어쨌든 엔트리를 반복해야합니다. –
아, 너 놀랍다! 고맙습니다! – Eusthace
중복 된 품목을 식별합니다. –
질문을 업데이트했습니다. 고맙습니다! – Eusthace