expandStart
expandStart
(length: number, char: Character) => (aString: string) => string
Expand a string to
length
by prependingchar
const expandTo3 = expandStart(3, '-') expandTo3('a') // is '--a' expandTo3('ab') // is '-ab' expandTo3('abc') // is 'abc'
const expandTo3 = expandStart(3, '-') expandTo3('a') // is '--a' expandTo3('ab') // is '-ab' expandTo3('abc') // is 'abc'
const expandTo3 = expandStart(3, '-') expandTo3('a') // is '--a' expandTo3('ab') // is '-ab' expandTo3('abc') // is 'abc'
const expandTo3 = expandStart(3, '-') expandTo3('a') // is '--a' expandTo3('ab') // is '-ab' expandTo3('abc') // is 'abc'
Sometimes we want a string to have a certain length. Below, we normalize file IDs so they sort as expected.
const profilePictureIds = [196, 22081, 352, 78] const addLeadingZeroes = expandStart(5, '0') const sortedFileNames = profilePictureIds .map(id => { const normalizedId = addLeadingZeroes(`${id}`) return `profile-picture-${normalizedId}.jpg` }) .toSorted() .join('\n') console.log(sortedFileNames) // is // profile-picture-00078.jpg // profile-picture-00196.jpg // profile-picture-00352.jpg // profile-picture-22081.jpg
const profilePictureIds = [196, 22081, 352, 78] const addLeadingZeroes = expandStart(5, '0') const sortedFileNames = profilePictureIds .map((id: number) => { const normalizedId = addLeadingZeroes(`${id}`) return `profile-picture-${normalizedId}.jpg` }) .toSorted() .join('\n') console.log(sortedFileNames) // is // profile-picture-00078.jpg // profile-picture-00196.jpg // profile-picture-00352.jpg // profile-picture-22081.jpg
const profilePictureIds = [196, 22081, 352, 78] const addLeadingZeroes = expandStart(5, '0') const sortedFileNames = profilePictureIds .map(id => { const normalizedId = addLeadingZeroes(`${id}`) return `profile-picture-${normalizedId}.jpg` }) .toSorted() .join('\n') console.log(sortedFileNames) // is // profile-picture-00078.jpg // profile-picture-00196.jpg // profile-picture-00352.jpg // profile-picture-22081.jpg
const profilePictureIds = [196, 22081, 352, 78] const addLeadingZeroes = expandStart(5, '0') const sortedFileNames = profilePictureIds .map((id: number) => { const normalizedId = addLeadingZeroes(`${id}`) return `profile-picture-${normalizedId}.jpg` }) .toSorted() .join('\n') console.log(sortedFileNames) // is // profile-picture-00078.jpg // profile-picture-00196.jpg // profile-picture-00352.jpg // profile-picture-22081.jpg