startsWith
startsWith
(prefix: string) => (aString: string) => boolean
Test if one string starts with another
const startsWithAB = startsWith('ab') startsWithAB('abcd') // is true startsWithAB('cdab') // is false
const startsWithAB = startsWith('ab') startsWithAB('abcd') // is true startsWithAB('cdab') // is false
const startsWithAB = startsWith('ab') startsWithAB('abcd') // is true startsWithAB('cdab') // is false
const startsWithAB = startsWith('ab') startsWithAB('abcd') // is true startsWithAB('cdab') // is false
Sometimes we want to see if a string starts with another. Below, someone turned in a lost notebook with only a first name, 'Chris.'. Let's find which classes have a Chris.
const classrooms = { A: ['ken roberts', 'chris reyes', 'liz brown'], B: ['phil smith', 'mary garcia', 'sarah miller'], C: ['matt davis', 'chris taylor', 'amy moore'], } const startsWithChris = startsWith('chris ') const roomHasChris = any(startsWithChris) const getRoomsWithChris = compose([keepWhen(roomHasChris), Object.keys]) const roomsToCheck = getRoomsWithChris(classrooms) console.log(roomsToCheck) // is [A, C]
type Classrooms = Record<string, string[]> const classrooms: Classrooms = { A: ['ken roberts', 'chris reyes', 'liz brown'], B: ['phil smith', 'mary garcia', 'sarah miller'], C: ['matt davis', 'chris taylor', 'amy moore'], } const startsWithChris = startsWith('chris ') const roomHasChris = any(startsWithChris)<string[]> const getRoomsWithChris = compose([ keepWhen(roomHasChris)<Classrooms>, Object.keys, ]) const roomsToCheck = getRoomsWithChris(classrooms) console.log(roomsToCheck) // is [A, C]
const classrooms = { A: ['ken roberts', 'chris reyes', 'liz brown'], B: [ 'phil smith', 'mary garcia', 'sarah miller', ], C: ['matt davis', 'chris taylor', 'amy moore'], } const startsWithChris = startsWith('chris ') const roomHasChris = any(startsWithChris) const getRoomsWithChris = compose([ keepWhen(roomHasChris), Object.keys, ]) const roomsToCheck = getRoomsWithChris(classrooms) console.log(roomsToCheck) // is [A, C]
type Classrooms = Record<string, string[]> const classrooms: Classrooms = { A: ['ken roberts', 'chris reyes', 'liz brown'], B: [ 'phil smith', 'mary garcia', 'sarah miller', ], C: ['matt davis', 'chris taylor', 'amy moore'], } const startsWithChris = startsWith('chris ') const roomHasChris = any(startsWithChris)< string[] > const getRoomsWithChris = compose([ keepWhen(roomHasChris)<Classrooms>, Object.keys, ]) const roomsToCheck = getRoomsWithChris(classrooms) console.log(roomsToCheck) // is [A, C]