mKeepFirst
mKeepFirst
(num: number) => (anArray: array) => anArray
Keep the first
num
elements of an arrayConsider keepFirst instead.
This is for the uncommon case where mutatinganArray
is required.const mKeepFirst2 = mKeepFirst(2) const arr = [1, 2, 3, 4] const mutatedArr = mKeepFirst2(arr) console.log(mutatedArr === arr) // is true console.log(arr) // is [1, 2]
const mKeepFirst2 = mKeepFirst(2) const arr = [1, 2, 3, 4] const mutatedArr = mKeepFirst2(arr) console.log(mutatedArr === arr) // is true console.log(arr) // is [1, 2]
const mKeepFirst2 = mKeepFirst(2) const arr = [1, 2, 3, 4] const mutatedArr = mKeepFirst2(arr) console.log(mutatedArr === arr) // is true console.log(arr) // is [1, 2]
const mKeepFirst2 = mKeepFirst(2) const arr = [1, 2, 3, 4] const mutatedArr = mKeepFirst2(arr) console.log(mutatedArr === arr) // is true console.log(arr) // is [1, 2]
Sometimes we have ordered data and only care about the first elements. Below, we have the top 5 women of the Paris Olympics Single Canoe Slalom event. Let's find the medalists.
const canoeSlalomResults = [ { name: 'jessica', time: 101.06 }, { name: 'elena', time: 103.54 }, { name: 'evy', time: 109.95 }, { name: 'zuzana', time: 111.07 }, { name: 'ana', time: 112.7 }, ] const keepMedalists = mKeepFirst(3) keepMedalists(canoeSlalomResults) const getNames = mapValues(get('name')) const medalists = getNames(canoeSlalomResults) console.log(medalists) // is [ // jessica // elena // evy // ]
type Result = { name: string time: number } const canoeSlalomResults: Result[] = [ { name: 'jessica', time: 101.06 }, { name: 'elena', time: 103.54 }, { name: 'evy', time: 109.95 }, { name: 'zuzana', time: 111.07 }, { name: 'ana', time: 112.7 }, ] const keepMedalists = mKeepFirst(3)<Result[]> keepMedalists(canoeSlalomResults) const getName = get('name')<Result> const getAllNames = mapValues(getName)<Result[]> const medalists = getAllNames(canoeSlalomResults) console.log(medalists) // is [ // jessica // elena // evy // ]
const canoeSlalomResults = [ { name: 'jessica', time: 101.06 }, { name: 'elena', time: 103.54 }, { name: 'evy', time: 109.95 }, { name: 'zuzana', time: 111.07 }, { name: 'ana', time: 112.7 }, ] const keepMedalists = mKeepFirst(3) keepMedalists(canoeSlalomResults) const getNames = mapValues(get('name')) const medalists = getNames(canoeSlalomResults) console.log(medalists) // is [ // jessica // elena // evy // ]
type Result = { name: string time: number } const canoeSlalomResults: Result[] = [ { name: 'jessica', time: 101.06 }, { name: 'elena', time: 103.54 }, { name: 'evy', time: 109.95 }, { name: 'zuzana', time: 111.07 }, { name: 'ana', time: 112.7 }, ] const keepMedalists = mKeepFirst(3)<Result[]> keepMedalists(canoeSlalomResults) const getName = get('name')<Result> const getAllNames = mapValues(getName)<Result[]> const medalists = getAllNames(canoeSlalomResults) console.log(medalists) // is [ // jessica // elena // evy // ]