expandEnd

expandEnd

  • (length: number, char: Character) => (aString: string) => string
  1. Expand a string to length by appending char

    const expandTo3 = expandEnd(3, '-')
    
    expandTo3('a') // is 'a--'
    expandTo3('ab') // is 'ab-'
    expandTo3('abc') // is 'abc'
    const expandTo3 = expandEnd(3, '-')
    
    expandTo3('a') // is 'a--'
    expandTo3('ab') // is 'ab-'
    expandTo3('abc') // is 'abc'
    
    const expandTo3 = expandEnd(3, '-')
    
    expandTo3('a') // is 'a--'
    expandTo3('ab') // is 'ab-'
    expandTo3('abc') // is 'abc'
    const expandTo3 = expandEnd(3, '-')
    
    expandTo3('a') // is 'a--'
    expandTo3('ab') // is 'ab-'
    expandTo3('abc') // is 'abc'
    
  2. One case for expandEnd is to format data. Below, we print a brownie recipe while aligning the amounts.

    const brownies = {
      Sugar: '1 1/2 Cups',
      Flour: '3/4 Cup',
      Cocoa: '2/3 Cup',
      'Chocolate Chips': '1/2 Cup',
      Eggs: '2',
    }
    
    const appendSpaces = expandEnd(20, ' ')
    
    const formattedRecipe = Object.entries(brownies)
      .map(([ingredient, amount]) => {
        return appendSpaces(ingredient) + amount
      })
      .join('\n')
    
    console.log(formattedRecipe)
    // prints
    // Sugar               1 1/2 Cups
    // Flour               3/4 Cup
    // Cocoa               2/3 Cup
    // Chocolate Chips     1/2 Cup
    // Eggs                2
    const brownies = {
      Sugar: '1 1/2 Cups',
      Flour: '3/4 Cup',
      Cocoa: '2/3 Cup',
      'Chocolate Chips': '1/2 Cup',
      Eggs: '2',
    }
    
    const appendSpaces = expandEnd(20, ' ')
    
    const formattedRecipe = Object.entries(brownies)
      .map(([ingredient, amount]) => {
        return appendSpaces(ingredient) + amount
      })
      .join('\n')
    
    console.log(formattedRecipe)
    // prints
    // Sugar               1 1/2 Cups
    // Flour               3/4 Cup
    // Cocoa               2/3 Cup
    // Chocolate Chips     1/2 Cup
    // Eggs                2
    
    const brownies = {
      Sugar: '1 1/2 Cups',
      Flour: '3/4 Cup',
      Cocoa: '2/3 Cup',
      'Chocolate Chips': '1/2 Cup',
      Eggs: '2',
    }
    
    const appendSpaces = expandEnd(20, ' ')
    
    const formattedRecipe = Object.entries(brownies)
      .map(([ingredient, amount]) => {
        return appendSpaces(ingredient) + amount
      })
      .join('\n')
    
    console.log(formattedRecipe)
    // prints
    // Sugar               1 1/2 Cups
    // Flour               3/4 Cup
    // Cocoa               2/3 Cup
    // Chocolate Chips     1/2 Cup
    // Eggs                2
    const brownies = {
      Sugar: '1 1/2 Cups',
      Flour: '3/4 Cup',
      Cocoa: '2/3 Cup',
      'Chocolate Chips': '1/2 Cup',
      Eggs: '2',
    }
    
    const appendSpaces = expandEnd(20, ' ')
    
    const formattedRecipe = Object.entries(brownies)
      .map(([ingredient, amount]) => {
        return appendSpaces(ingredient) + amount
      })
      .join('\n')
    
    console.log(formattedRecipe)
    // prints
    // Sugar               1 1/2 Cups
    // Flour               3/4 Cup
    // Cocoa               2/3 Cup
    // Chocolate Chips     1/2 Cup
    // Eggs                2