xorWith (Lodash 호환성)
es-toolkit의 xorWith을 사용하세요
이 xorWith 함수는 null이나 undefined 처리, 복잡한 중복 계산 로직 등으로 인해 느리게 동작해요.
대신 더 빠르고 현대적인 es-toolkit의 xorWith를 사용하세요.
여러 배열들에서 비교 함수를 사용하여 정확히 하나의 배열에만 존재하는 요소들로 구성된 새 배열을 만들어요.
typescript
const result = xorWith(...arrays, comparator);레퍼런스
xorWith(...arrays, comparator)
여러 배열의 대칭 차집합을 비교 함수를 사용하여 계산해요. 비교 함수가 true를 반환하면 두 요소를 같다고 판단하고, 정확히 하나의 배열에만 존재하는 요소들을 반환해요. 복잡한 객체나 사용자 정의 비교 로직이 필요할 때 유용해요.
typescript
import { xorWith } from 'es-toolkit/compat';
// 간단한 숫자 비교
xorWith([1, 2], [2, 3], (a, b) => a === b);
// Returns: [1, 3]
// 객체의 속성 비교
const objects = [
{ x: 1, y: 2 },
{ x: 2, y: 1 },
];
const others = [
{ x: 1, y: 1 },
{ x: 1, y: 2 },
];
xorWith(objects, others, (a, b) => a.x === b.x && a.y === b.y);
// Returns: [{ x: 2, y: 1 }, { x: 1, y: 1 }]
// 세 배열의 대칭 차집합
xorWith([1], [2], [3], (a, b) => a === b);
// Returns: [1, 2, 3]
// 문자열 길이로 비교
xorWith(['hello'], ['world', 'hi'], (a, b) => a.length === b.length);
// Returns: ['hi']비교 함수를 제공하지 않으면 기본적으로 얕은 동등성 비교를 사용해요.
typescript
import { xorWith } from 'es-toolkit/compat';
xorWith([1, 2], [2, 3]);
// Returns: [1, 3]파라미터
...arrays(Array<ArrayLike<T> | null | undefined | ((a: T, b: T) => boolean)>): 대칭 차집합을 계산할 배열들과 마지막에 비교 함수예요. 비교 함수는 두 요소가 같으면true를 반환해야 해요.
반환 값
(T[]): 비교 함수 결과를 기준으로 정확히 하나의 배열에만 존재하는 요소들로 구성된 새 배열을 반환해요.

