Array::add = (value...)->
for item in value
@.push(item)
@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()