node package manager


negative-array Build Status

Negative array index support array[-1] using ES6 Proxy

JavaScript doesn't natively support the use of a negative index to get items backwards from the end, but with ES6 Proxy it's possible. Take a look at the source to see how simple it is to implement and read this short article about it.

Proxies are objects for which the programmer has to define the semantics in JavaScript. The default object semantics are implemented in the JavaScript engine, often written in lower-level languages like C++. Proxies let the programmer define most of the behavior of an object in JavaScript. They are said to provide a meta-programming API.


$ npm install --save negative-array
var negativeArray = require('negative-array');
// adds negative array index support to any passed array 
var unicorn = negativeArray(['pony', 'cake', 'rainbow']);
// get the last item by using an negative index 
//=> rainbow 
// OMG, YES! 

This should go without saying; don't use in production.


  • Node >=0.8.0 - with the harmony flag: node --harmony
  • Chrome - with the this flag enabled chrome://flags/#enable-javascript-harmony (copy/paste into address-bar)
  • Firefox >=12


MIT © Sindre Sorhus