6605c39a947e2bfc10a9b66b4f6cdb7bfab76386
[aai/esr-gui.git] /
1 #sliced
2 ==========
3
4 A faster alternative to `[].slice.call(arguments)`.
5
6 [![Build Status](https://secure.travis-ci.org/aheckmann/sliced.png)](http://travis-ci.org/aheckmann/sliced)
7
8 Example output from [benchmark.js](https://github.com/bestiejs/benchmark.js)
9
10     Array.prototype.slice.call x 1,320,205 ops/sec ±2.35% (92 runs sampled)
11     [].slice.call x 1,314,605 ops/sec ±1.60% (95 runs sampled)
12     cached slice.call x 10,468,380 ops/sec ±1.45% (95 runs sampled)
13     sliced x 16,608,237 ops/sec ±1.40% (92 runs sampled)
14     fastest is sliced
15
16     Array.prototype.slice.call(arguments, 1) x 1,383,584 ops/sec ±1.73% (97 runs sampled)
17     [].slice.call(arguments, 1) x 1,494,735 ops/sec ±1.33% (95 runs sampled)
18     cached slice.call(arguments, 1) x 10,085,270 ops/sec ±1.51% (97 runs sampled)
19     sliced(arguments, 1) x 16,620,480 ops/sec ±1.29% (95 runs sampled)
20     fastest is sliced(arguments, 1)
21
22     Array.prototype.slice.call(arguments, -1) x 1,303,262 ops/sec ±1.62% (94 runs sampled)
23     [].slice.call(arguments, -1) x 1,325,615 ops/sec ±1.36% (97 runs sampled)
24     cached slice.call(arguments, -1) x 9,673,603 ops/sec ±1.70% (96 runs sampled)
25     sliced(arguments, -1) x 16,384,575 ops/sec ±1.06% (91 runs sampled)
26     fastest is sliced(arguments, -1)
27
28     Array.prototype.slice.call(arguments, -2, -10) x 1,404,390 ops/sec ±1.61% (95 runs sampled)
29     [].slice.call(arguments, -2, -10) x 1,514,367 ops/sec ±1.21% (96 runs sampled)
30     cached slice.call(arguments, -2, -10) x 9,836,017 ops/sec ±1.21% (95 runs sampled)
31     sliced(arguments, -2, -10) x 18,544,882 ops/sec ±1.30% (91 runs sampled)
32     fastest is sliced(arguments, -2, -10)
33
34     Array.prototype.slice.call(arguments, -2, -1) x 1,458,604 ops/sec ±1.41% (97 runs sampled)
35     [].slice.call(arguments, -2, -1) x 1,536,547 ops/sec ±1.63% (99 runs sampled)
36     cached slice.call(arguments, -2, -1) x 10,060,633 ops/sec ±1.37% (96 runs sampled)
37     sliced(arguments, -2, -1) x 18,608,712 ops/sec ±1.08% (93 runs sampled)
38     fastest is sliced(arguments, -2, -1)
39
40 _Benchmark  [source](https://github.com/aheckmann/sliced/blob/master/bench.js)._
41
42 ##Usage
43
44 `sliced` accepts the same arguments as `Array#slice` so you can easily swap it out.
45
46 ```js
47 function zing () {
48   var slow = [].slice.call(arguments, 1, 8);
49   var args = slice(arguments, 1, 8);
50
51   var slow = Array.prototype.slice.call(arguments);
52   var args = slice(arguments);
53   // etc
54 }
55 ```
56
57 ## install
58
59     npm install sliced
60
61
62 [LICENSE](https://github.com/aheckmann/sliced/blob/master/LICENSE)