drop
💧 Skips a specified number of elements from the start of an array.
Info
It is loosely based on the Iterator.prototype.drop() method.
Syntax
TypeScript
import { drop } from '@opentf/std'; drop<T>( arr: T[], limit: number | null = 1, options?: { predicate?: (val: T) => boolean; fromEnd?: boolean } ): T[]
Parameters
arr: The source array.limit: The number of elements to drop. Ifnull, all matching elements (or all elements if no callback) are dropped.options.predicate: An optional predicate function. If provided, only elements that returntrueare counted towards the limit.options.fromEnd: Iftrue, drops from the end of the array instead of the start. Default:false.
Returns
A new array with the elements dropped.
Examples
TypeScript
drop([1, 2, 3], -1) // Throws RangeError for negative limit drop([1, 2, 3], 0) //=> [1, 2, 3] drop([1, 2, 3]) //=> [2, 3] drop([1, 2, 3], 1) //=> [2, 3] drop([1, 2, 3], 2) //=> [3] drop([1, 2, 3, 4, 5], 5) //=> [] drop([1, 2, 3, 4, 5], 6) //=> [] drop([1, 2, 3, 4, 5], null) //=> [] drop([1, 2, 3, 4, 5], 2, { predicate: (val) => val % 2 === 0 }) //=> [1, 3, 5] drop([1, 2, 3, 4, 5], 3, { predicate: (val) => val % 2 !== 0 }) //=> [2, 4] drop([1, 2, 3, 4, 5], 3, { fromEnd: true }) //=> [1, 2] const users = [ { name: 'x', active: false }, { name: 'y', active: true }, { name: 'z', active: false }, ]; drop(users, null, { predicate: (val) => val.active }) //=> [ // { name: 'x', active: false }, // { name: 'z', active: false }, // ]