discardFirstWhile
discardFirstWhile
(predicate: Predicate) => (anArray: array) => array
Discard the first elements that pass a condition
const lt3 = n => n < 3 const discardFirstWhileLt3 = discardFirstWhile(lt3) discardFirstWhileLt3([1, 2, 3, 4]) // is [3, 4] discardFirstWhileLt3([3, 4, 1]) // is [3, 4, 1]
const lt3 = (n: number) => n < 3 const discardFirstWhileLt3 = discardFirstWhile(lt3) discardFirstWhileLt3([1, 2, 3, 4]) // is [3, 4] discardFirstWhileLt3([3, 4, 1]) // is [3, 4, 1]
const lt3 = n => n < 3 const discardFirstWhileLt3 = discardFirstWhile(lt3) discardFirstWhileLt3([1, 2, 3, 4]) // is [3, 4] discardFirstWhileLt3([3, 4, 1]) // is [3, 4, 1]
const lt3 = (n: number) => n < 3 const discardFirstWhileLt3 = discardFirstWhile(lt3) discardFirstWhileLt3([1, 2, 3, 4]) // is [3, 4] discardFirstWhileLt3([3, 4, 1]) // is [3, 4, 1]
This is useful when we have sorted data and don't need to filter over all of it. Below, we have a list of sorted test scores. We want to remove the zeroes since those students weren't in class.
const scores = [0, 0, 70, 88, 92] const discardZeroes = discardFirstWhile(n => n === 0) const updatedScores = discardZeroes(scores) console.log(updatedScores) // is [70, 88, 92]
const scores = [0, 0, 70, 88, 92] const discardZeroes = discardFirstWhile((n: number) => n === 0) const updatedScores = discardZeroes(scores) console.log(updatedScores) // is [70, 88, 92]
const scores = [0, 0, 70, 88, 92] const discardZeroes = discardFirstWhile( n => n === 0 ) const updatedScores = discardZeroes(scores) console.log(updatedScores) // is [70, 88, 92]
const scores = [0, 0, 70, 88, 92] const discardZeroes = discardFirstWhile( (n: number) => n === 0 ) const updatedScores = discardZeroes(scores) console.log(updatedScores) // is [70, 88, 92]