Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

sliced

aheckmann2.4mMIT1.0.1

A faster Node.js alternative to Array.prototype.slice.call(arguments)

arguments, slice, array

readme

sliced

==========

A faster alternative to [].slice.call(arguments).

Build Status

Example output from benchmark.js

Array.prototype.slice.call x 1,401,820 ops/sec ±2.16% (90 runs sampled)
[].slice.call x 1,313,116 ops/sec ±2.04% (96 runs sampled)
cached slice.call x 10,297,910 ops/sec ±1.81% (96 runs sampled)
sliced x 19,906,019 ops/sec ±1.23% (89 runs sampled)
fastest is sliced

Array.prototype.slice.call(arguments, 1) x 1,373,238 ops/sec ±1.84% (95 runs sampled)
[].slice.call(arguments, 1) x 1,395,336 ops/sec ±1.36% (93 runs sampled)
cached slice.call(arguments, 1) x 9,926,018 ops/sec ±1.67% (92 runs sampled)
sliced(arguments, 1) x 20,747,990 ops/sec ±1.16% (93 runs sampled)
fastest is sliced(arguments, 1)

Array.prototype.slice.call(arguments, -1) x 1,319,908 ops/sec ±2.12% (91 runs sampled)
[].slice.call(arguments, -1) x 1,336,170 ops/sec ±1.33% (97 runs sampled)
cached slice.call(arguments, -1) x 10,078,718 ops/sec ±1.21% (98 runs sampled)
sliced(arguments, -1) x 20,471,474 ops/sec ±1.81% (92 runs sampled)
fastest is sliced(arguments, -1)

Array.prototype.slice.call(arguments, -2, -10) x 1,369,246 ops/sec ±1.68% (97 runs sampled)
[].slice.call(arguments, -2, -10) x 1,387,935 ops/sec ±1.70% (95 runs sampled)
cached slice.call(arguments, -2, -10) x 9,593,428 ops/sec ±1.23% (97 runs sampled)
sliced(arguments, -2, -10) x 23,178,931 ops/sec ±1.70% (92 runs sampled)
fastest is sliced(arguments, -2, -10)

Array.prototype.slice.call(arguments, -2, -1) x 1,441,300 ops/sec ±1.26% (98 runs sampled)
[].slice.call(arguments, -2, -1) x 1,410,326 ops/sec ±1.96% (93 runs sampled)
cached slice.call(arguments, -2, -1) x 9,854,419 ops/sec ±1.02% (97 runs sampled)
sliced(arguments, -2, -1) x 22,550,801 ops/sec ±1.86% (91 runs sampled)
fastest is sliced(arguments, -2, -1)

Benchmark source.

Usage

sliced accepts the same arguments as Array#slice so you can easily swap it out.

function zing () {
  var slow = [].slice.call(arguments, 1, 8);
  var args = slice(arguments, 1, 8);

  var slow = Array.prototype.slice.call(arguments);
  var args = slice(arguments);
  // etc
}

install

npm install sliced

LICENSE

changelog

1.0.1 / 2015-07-14

  • fixed; missing file introduced in 4f5cea1

1.0.0 / 2015-07-12

  • Remove unnecessary files from npm package - #6 via joaquimserafim
  • updated readme stats

0.0.5 / 2013-02-05

  • optimization: remove use of arguments jkroso
  • add scripts to component.json jkroso
  • tests; remove time for travis

0.0.4 / 2013-01-07

  • added component.json #1 jkroso
  • reversed array loop #1 jkroso
  • remove fn params

0.0.3 / 2012-09-29

  • faster with negative start args

0.0.2 / 2012-09-29

  • support full [].slice semantics

0.0.1 / 2012-09-29

  • initial release