# utils/comparearrays

module

<a id="type-definitions">

## Type Definitions

<a id="typedef-ArrayRelation">

### `ArrayRelation`

<a id="functions">

## Functions

<a id="function-compareArrays">

### `compareArrays( a, b ) → number | ArrayRelation`

Compares how given arrays relate to each other. One array can be: same as another array, prefix of another array or completely different. If arrays are different, first index at which they differ is returned. Otherwise, a flag specifying the relation is returned. Flags are negative numbers, so whenever a number >= 0 is returned it means that arrays differ.

```typescript
compareArrays( [ 0, 2 ], [ 0, 2 ] );		// 'same'
compareArrays( [ 0, 2 ], [ 0, 2, 1 ] );		// 'prefix'
compareArrays( [ 0, 2 ], [ 0 ] );			// 'extension'
compareArrays( [ 0, 2 ], [ 1, 2 ] );		// 0
compareArrays( [ 0, 2 ], [ 0, 1 ] );		// 1
```

[See source](https://github.com/ckeditor/ckeditor5/blob/master/packages/ckeditor5-utils/src/comparearrays.ts#L28)

#### Parameters

* `a: readonly Array<unknown>`

  Array that is compared.

* `b: readonly Array<unknown>`

  Array to compare with.

#### Returns

* `number | ArrayRelation`

  How array `a` is related to `b`.

---

Full index of the CKEditor 5 API reference: [llms.txt](llms.txt)
