# xor (Lodash 互換性)

::: warning `es-toolkit`の[xor](../../../reference/array/xor.md)を使用してください

この`xor`関数は`null`または`undefined`の処理、複雑な重複計算ロジックなどにより動作が遅くなります。

代わりに、より高速で現代的な`es-toolkit`の[xor](../../../reference/array/xor.md)を使用してください。

:::

複数の配列で正確に1つの配列にのみ存在する要素で構成される新しい配列を作成します。

```typescript
const result = xor(...arrays);
```

## 使用法

### `xor(...arrays)`

複数の配列の対称差集合を計算します。つまり、与えられた配列の中で正確に1つの配列にのみ存在する要素を返します。2つ以上の配列を比較する際に重複しないユニークな要素を見つけたい場合に便利です。

```typescript
import { xor } from 'es-toolkit/compat';

// 2つの配列の対称差集合
xor([1, 2, 3, 4], [3, 4, 5, 6]);
// 戻り値: [1, 2, 5, 6]

// 3つの配列の対称差集合
xor([1, 2], [2, 3], [4, 5]);
// 戻り値: [1, 3, 4, 5]

// 文字列配列
xor(['a', 'b'], ['b', 'c']);
// 戻り値: ['a', 'c']

// 1つの配列のみを提供
xor([1, 2, 3]);
// 戻り値: [1, 2, 3]
```

`null`、`undefined`、または空配列は無視され、有効な配列のみが処理されます。

```typescript
import { xor } from 'es-toolkit/compat';

xor([1, 2], null, [2, 3]);
// 戻り値: [1, 3]

xor([], [1, 2], [2, 3]);
// 戻り値: [1, 3]
```

#### パラメータ

- `...arrays` (`Array<ArrayLike<T> | null | undefined>`): 対称差集合を計算する配列。`null`または`undefined`は無視されます。

#### 戻り値

(`T[]`): 正確に1つの配列にのみ存在する要素で構成される新しい配列を返します。
