# dropRightWhile

Returns a new array with elements removed from the end while a condition is satisfied.

```typescript
const result = dropRightWhile(arr, canContinueDropping);
```

## Usage

### `dropRightWhile(arr, canContinueDropping)`

Use `dropRightWhile` when you want to remove elements from the end of an array that meet a specific condition. Starting from the end of the array, it removes elements while the condition function returns `true`, and stops when it returns `false`.

```typescript
import { dropRightWhile } from 'es-toolkit/array';

// Remove elements greater than 3 from the end.
const numbers = [1, 2, 3, 4, 5];
dropRightWhile(numbers, x => x > 3);
// Returns: [1, 2, 3]
// 4 and 5 satisfy the condition and are removed, stopping at 3 where the condition becomes false.

// Remove elements matching a specific condition from an object array.
const users = [
  { name: 'Alice', active: true },
  { name: 'Bob', active: true },
  { name: 'Charlie', active: false },
  { name: 'David', active: false },
];
dropRightWhile(users, user => !user.active);
// Returns: [{ name: 'Alice', active: true }, { name: 'Bob', active: true }]
```

If the array is empty or no elements satisfy the condition, it returns a new array same as the original.

```typescript
import { dropRightWhile } from 'es-toolkit/array';

dropRightWhile([1, 2, 3], x => x > 5); // [1, 2, 3]
dropRightWhile([], x => true); // []
```

#### Parameters

- `arr` (`T[]`): The array to remove elements from.
- `canContinueDropping` (`(item: T, index: number, arr: T[]) => boolean`): The condition function that determines whether to continue removing elements. It receives each element, its index, and the entire array, and returns true or false.

#### Returns

(`T[]`): A new array containing elements from the first element that doesn't satisfy the condition to the beginning of the array.
