takeWhile ​
Creates a new array by taking elements from the beginning of the array while the condition function returns true.
typescript
const taken = takeWhile(arr, predicate);Usage ​
takeWhile(arr, predicate) ​
Use takeWhile when you only need elements from the beginning of an array that meet a specific condition. It stops taking elements when it encounters the first element that doesn't meet the condition.
typescript
import { takeWhile } from 'es-toolkit/array';
// Take only elements less than 3.
takeWhile([1, 2, 3, 4], x => x < 3);
// Returns: [1, 2]
// Return an empty array since there are no elements greater than 3 from the beginning.
takeWhile([1, 2, 3, 4], x => x > 3);
// Returns: []It can also be used with object arrays.
typescript
import { takeWhile } from 'es-toolkit/array';
const users = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 35 },
{ name: 'David', age: 40 },
];
// Take only users under 30 years old.
takeWhile(users, user => user.age < 30);
// Returns: [{ name: 'Alice', age: 25 }]Parameters ​
arr(T[]): The array to take elements from.predicate((element: T, index: number, array: T[]) => boolean): A condition function called for each element with the element, its index, and the array. Elements are taken while this function returns true.
Returns ​
(T[]): Returns a new array containing the elements taken from the beginning while the condition function returns true.
Examples ​
typescript
// Using index parameter
takeWhile([10, 20, 30, 40], (x, index) => index < 2);
// Returns: [10, 20]
// Using array parameter
takeWhile([1, 2, 3, 4], (x, index, arr) => x < arr.length);
// Returns: [1, 2, 3]
