Sha256: 564306e4c4d05cba7f36272008cb17ac574a0ec72b6c6e504a2243cd57e1aae6

Contents?: true

Size: 843 Bytes

Versions: 2

Compression:

Stored size: 843 Bytes

Contents

Array.implement({
  getFirst: function(n){
    return (n || n === 0) ? this.slice(0, n) : this[0]
  },

  getLast: function(n){
    if (n >= this.length) return this
    return (n || n === 0) ? this.slice(this.length - n, this.length) : this[this.length - 1]
  },

  deleteIf: function(fn){
    for (var i = 0, length = this.length; i < length; i++) {
      var el = this.shift()
      if (!fn.call(el)) this.push(el)
    }
    return this
  },

  filterOne: function(fn, bind){
    return this.filter(fn, bind).getFirst()
  },

  isBlank: function(){
    return this.length == 0
  },

  hasAny: function(){
    return !this.isBlank()
  }
})

Array.alias('first', 'getFirst')
Array.alias('last', 'getLast')
Array.alias('select', 'filter')
Array.alias('selectOne', 'filterOne')
Array.alias('compact', 'clean')
Array.alias('isEmpty', 'isBlank')

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mootools-plus-0.2.1 src/array.js
mootools-plus-0.2.0 vendor/assets/javascripts/mootools-plus/array.js