mFillWith

mFillWith

  • (value: any) => (collection: EntryCollection) => collection
  1. Fill a collection with value

    Consider fillWith instead.
    This is for the uncommon case where mutating collection is required.

    const mZeroOut = mFillWith(0)
    const arr = [1, 2, 3]
    const mutatedArr = mZeroOut(arr)
    console.log(mutatedArr === arr) // is true
    console.log(arr) // is [0, 0, 0]
    const mZeroOut = mFillWith(0)
    const arr = [1, 2, 3]
    const mutatedArr = mZeroOut(arr)
    console.log(mutatedArr === arr) // is true
    console.log(arr) // is [0, 0, 0]
    
    const mZeroOut = mFillWith(0)
    const arr = [1, 2, 3]
    const mutatedArr = mZeroOut(arr)
    console.log(mutatedArr === arr) // is true
    console.log(arr) // is [0, 0, 0]
    const mZeroOut = mFillWith(0)
    const arr = [1, 2, 3]
    const mutatedArr = mZeroOut(arr)
    console.log(mutatedArr === arr) // is true
    console.log(arr) // is [0, 0, 0]
    
  2. Sometimes we want to initialize a collection to a value. Below, we have a baseball display showing the number of strikes, balls, and outs the batting team has. Let's reset it back to zero at the end of the frame.

    const display = {
      strikes: 2,
      balls: 1,
      outs: 2,
    }
    
    const endFrame = mFillWith(0)
    endFrame(display)
    console.log(display)
    // is {
    //   strikes: 0
    //   balls: 0
    //   outs: 0
    // }
    const display = {
      strikes: 2,
      balls: 1,
      outs: 2,
    }
    
    const endFrame = mFillWith(0)
    endFrame(display)
    console.log(display)
    // is {
    //   strikes: 0
    //   balls: 0
    //   outs: 0
    // }
    
    const display = {
      strikes: 2,
      balls: 1,
      outs: 2,
    }
    
    const endFrame = mFillWith(0)
    endFrame(display)
    console.log(display)
    // is {
    //   strikes: 0
    //   balls: 0
    //   outs: 0
    // }
    const display = {
      strikes: 2,
      balls: 1,
      outs: 2,
    }
    
    const endFrame = mFillWith(0)
    endFrame(display)
    console.log(display)
    // is {
    //   strikes: 0
    //   balls: 0
    //   outs: 0
    // }