• Jump To … +
    assert_Array.litcoffee assert_Boolean.litcoffee assert_Function.litcoffee assert_Number.litcoffee assert_Object.litcoffee assert_String.litcoffee fluentnode.coffee index.md Array.litcoffee Boolean.litcoffee Function.litcoffee Number.litcoffee Object.litcoffee String.litcoffee console.litcoffee crypto.litcoffee fs.litcoffee http.litcoffee path.litcoffee process.litcoffee encoding.litcoffee globals.litcoffee assert_Array.test.coffee assert_Boolean.test.coffee assert_Function.test.coffee assert_Number.test.coffee assert_Object.test.coffee assert_String.test.coffee fluentnode.test.coffee Array.test.coffee Boolean.test.coffee Function.test.coffee Number.test.coffee Object.test.coffee String.test.coffee console.test.coffee crypto.test.coffee fs.test.coffee http.test.coffee path.test.coffee process.test.coffee encoding.test.coffee globals.test.coffee
  • Array.litcoffee

  • ¶

    fluent-array are methods that extend the Javascript’s Array object

    @.add (value…)

    adds a value to the current array

    Array::add = (value...)->
      for item in value
        @.push(item)
      @
  • ¶

    @.contains (value)

    returns true if the current array has value

    Suports the case when value is a an Array, where all provided elements of the value array are expected to exists in @

    Array::contains = (value)->
      if value instanceof Array
        for item in value
          if not (item in @)
            return false
        return true;
      else
      (value in @)
  • ¶

    @.empty ()

    Array::empty = ->
      @.length == 0
  • ¶

    @.item (index)

    Returns item[index] if array has that item

    Note: Double check behaviour of Array.length and check for possible edge cases

    Array::item = (index)->
      if typeof(index) is 'number'
        if @.length > index > -1
          return @[index]
      null
  • ¶

    @.nth ()

    Array::nth = Array::item
  • ¶

    @.first () @.second () @.third () @.fourth ()

    Helper functions for the nornally requested Array elements

    Array::first  = -> @.item(0)
    Array::second = -> @.item(1)
    Array::third  = -> @.item(2)
    Array::fourth = -> @.item(3)
  • ¶

    @.last ()

    Array::last  =  ->
      if(@.length)
        @[@.length-1]
      else
        null
  • ¶

    @.log ()

    Array::log = ->
      @.str().log()
      @
  • ¶

    @.not_Contains ()

    Array::not_Contains   = (value)-> value not in @
  • ¶

    @.not_Empty ()

    Array::not_Empty = ->
      @.length != 0
  • ¶

    @.remove_At index

    Array::remove_At = (index)->
      @.splice(index,1)
      @
  • ¶

    @.remove_First

    Array::remove_First = ()->
      @.remove_At 0
  • ¶

    @.remove_If_Contains

    Removes an element from an array if it contains a particular string Note that all elements (and match) will be converted into strings before comparison

    Array::remove_If_Contains = (value)->
      return @ if not value
      @.filter (word) ->
        word.str().not_Contains(value.str())
  • ¶

    @.size

    Array::size = -> @.length
  • ¶

    @.starts_With value

    Array::starts_With = (value)->
      (item for item in @ when value && item.starts_With(value))
  • ¶

    @.take value

    Array::take = (size)->
      if size is -1 then @ else @.slice(0,size)
  • ¶

    @.unique

    Array::unique  = () ->
      output = {}
      output[@[key]] = @[key] for key in [0...@length]
      output.keys()
  • ¶

  • ¶

    back to index