GitXplorerGitXplorer
c

array-sugar

public
22 stars
2 forks
1 issues

Commits

List of commits on branch master.
Verified
43cee8e2dd166e46b88535dd7e149b8d71991f35

added deprecated message

ccapaj committed 7 years ago
Unverified
c6a0fecf1a4b3eb247ed9bbc06e29af171bc953f

added build badge

ccapaj committed 10 years ago
Unverified
2711a5ff427275268c87a384b4b5cd277fff8f45

added npm ignore

ccapaj committed 10 years ago
Unverified
8a16268b533fb9dc234cec7cfa1293372e748853

weird name for a test file fixed, chai upgraded to 3.0.0, readme updated

ccapaj committed 10 years ago
Unverified
12239195d2d5d3ebf30c54ca92fde18afdf604f2

tests rewritten to mocha, added travis.yml, Array.range now also works from higher to smaller numbers

ccapaj committed 10 years ago
Unverified
69c7f2f4c0df1d07871ac1b534839432bcb6c506

Update README.md

ccapaj committed 10 years ago

README

The README file for this repository.

array-sugar Build Status

DEPRECATED

Tired of not having a last property on array in Javascript? Tired of not having contains method? This little script solves those by adding a bit of sugar allowing you to do:

     Array.range(1,3)         instead      [1, 2, 3];
     Array.min([1, 3])        instead      Math.min.apply(null,[1, 3]);
     Array.max([1, 3])        instead      Math.max.apply(null,[1, 3]);
     array.contains(o)        instead      array.indexOf(o) != -1
     array.remove(o)          instead      array.splice(array.indexOf(o), 1) //remove returns true when o was removed
     array.replace(o, n)      instead      array[array.indexOf(o)] = n;
     array.findOne(test)      instead      array.filter(test)[0];
     array.clear()            instead      array.length = 0
     array.copy()             instead      array.slice(0)
     array.unique()           instead      array.filter(function(function(itm,i,a){return i === a.indexOf(itm);}))
     array.unique.push(item)  instead      if (~self.indexOf(item)) { self.push(item); }
     array.unique.merge(arr)  instead      as previous but for all items in arr
     array.insert(i,item)     instead      array.splice(i, 0, item); //plus insert can take variable number of args, not just one
     array.isEmpty            instead      array.length == 0
     array.first              instead      array[0]
     array.last               instead      array[array.length-1]

Usable in any environment that supports Object.defineProperty(oldest would probably be IE9).

Available through npm and bower, just require(or include with regular script tag) and you should be good to go.

npm install array-sugar
bower install array-sugar
jspm install npm:array-sugar

Then require('array-sugar'); and you're done.

known incompatibilities

Angular ngSanitize module in it's method assigns to arr.last and this collides with our 'last' getter.

Is it a good idea to extend array.prototype?

Nope, not really-just look at #smooshgate on twitter. Don't use this library.