Skip to content

@technobuddha > library > Array > Iteration

Function: lookAhead()

ts
function lookAhead<T>(array: T[], options?: LookAheadOptions<T>): Generator<[T, T, number]>;

Defined in: look-ahead.ts:56

Generates pairs of consecutive elements from the input array, with optional handling for the last element.

Type Parameters

Type ParameterDescription
TThe type of elements in the input array.

Parameters

ParameterTypeDescription
arrayT[]The array to iterate over.
options?LookAheadOptions<T>Optional configuration for handling the last element.

Returns

Generator<[T, T, number]>

A generator yielding a tuple containing each element, the next element in the sequence, and the index of the element within the sequence. Optionally, a tuple is generated for the last element as specified by options.

Example

typescript
// Basic usage
const arr = [1, 2, 3];
for (const [current, next] of lookAhead(arr)) {
  console.log(current, next);
}
// [1, 2], [2, 3]

// With wrapAround
for (const [current, next] of lookAhead(arr, { wrapAround: true })) {
  console.log(current, next);
}
// [1, 2], [2, 3], [3, 1]

With last

typescript
for (const [current, next] of lookAhead(arr, { last: 0 })) {
  console.log(current, next);
}
// [1, 2], [2, 3], [3, 0]