(function() {
var proxy = Proxy.create({
get : function(proxy, name) {
if (name < 0 && proxy.length + +name >= 0) {
return proxy[proxy.length + +name]
}
}
});
window['arr'] = function() {
var arr = Array.apply(this, arguments);
arr.__proto__ = proxy;
return arr;
}
})();
var q = arr(1, 2, 3, 4, 5, 6, 7, 8, 9)
alert(q[0])
alert(q[1])
alert(q[2])
alert(q[-1])
alert(q[-2])
alert(q[-3])
при литеральной нотации используется родной конструктор Array.
Как научиться перехватывать запросы с отрицательными числами на ВСЕ массивы, созданные даже вот так [1,2,3] ?
Второй вопрос, как покрасивее сохранить методы массивов? или вообще все придется переписывать?