keepFirst
keepFirst
(num: number) => (sequence: Sequence) => Sequence
Keep the first
num
elements of a sequenceconst keepFirstThree = keepFirst(3) keepFirstThree(['a', 'b', 'c', 'd']) // is ['a', 'b', 'c'] keepFirstThree('abcd') // is 'abc' keepFirstThree(['a']) // is ['a']
const keepFirstThree = keepFirst(3) keepFirstThree(['a', 'b', 'c', 'd']) // is ['a', 'b', 'c'] keepFirstThree('abcd') // is 'abc' keepFirstThree(['a']) // is ['a']
const keepFirstThree = keepFirst(3) keepFirstThree(['a', 'b', 'c', 'd']) // is ['a', 'b', 'c'] keepFirstThree('abcd') // is 'abc' keepFirstThree(['a']) // is ['a']
const keepFirstThree = keepFirst(3) keepFirstThree(['a', 'b', 'c', 'd']) // is ['a', 'b', 'c'] keepFirstThree('abcd') // is 'abc' keepFirstThree(['a']) // is ['a']
Sometimes we have ordered data and only care about the first elements. Below, we have a list of boots ordered by number sold. Let's display our top three selling boots.
const bootsByNumSold = [ { name: 'Columbia Escape', sold: 82, }, { name: 'Keen Gibson', sold: 79, }, { name: 'Timberland Classic', sold: 65, }, { name: 'Nortiv Armadillo', sold: 58, }, ] const keepTopThree = keepFirst(3) const getTopSellers = compose([ keepTopThree, mapValues(get('name')), joinValues(', '), ]) const topSellers = getTopSellers(bootsByNumSold) console.log(topSellers) // prints // Columbia Escape, Keen Gibson, Timberland Classic
type Boot = { name: string sold: number } const bootsByNumSold = [ { name: 'Columbia Escape', sold: 82, }, { name: 'Keen Gibson', sold: 79, }, { name: 'Timberland Classic', sold: 65, }, { name: 'Nortiv Armadillo', sold: 58, }, ] const keepTopThree = keepFirst(3)<Boot[]> const getTopSellers = compose([ keepTopThree, mapValues(get('name')), joinValues(', '), ]) const topSellers = getTopSellers(bootsByNumSold) console.log(topSellers) // prints // Columbia Escape, Keen Gibson, Timberland Classic
const bootsByNumSold = [ { name: 'Columbia Escape', sold: 82, }, { name: 'Keen Gibson', sold: 79, }, { name: 'Timberland Classic', sold: 65, }, { name: 'Nortiv Armadillo', sold: 58, }, ] const keepTopThree = keepFirst(3) const getTopSellers = compose([ keepTopThree, mapValues(get('name')), joinValues(', '), ]) const topSellers = getTopSellers(bootsByNumSold) console.log(topSellers) // prints // Columbia Escape, Keen Gibson, Timberland Classic
type Boot = { name: string sold: number } const bootsByNumSold = [ { name: 'Columbia Escape', sold: 82, }, { name: 'Keen Gibson', sold: 79, }, { name: 'Timberland Classic', sold: 65, }, { name: 'Nortiv Armadillo', sold: 58, }, ] const keepTopThree = keepFirst(3)<Boot[]> const getTopSellers = compose([ keepTopThree, mapValues(get('name')), joinValues(', '), ]) const topSellers = getTopSellers(bootsByNumSold) console.log(topSellers) // prints // Columbia Escape, Keen Gibson, Timberland Classic