Vorremo rendere disponibile questo progetto open-source per persone in tutto il mondo.

Aiutaci a tradurre il contenuto di questo tutorial nella tua lingua!

torna alle lezioni

Accesso ad un array[-1]

In alcuni linguaggi di programmazione, possiamo accedere agli elementi dell’array utilizzando indici negativi, che iniziano il conteggio dalla coda dell’array.

Come nell’esempio:

let array = [1, 2, 3]; array[-1]; // 3, l'ultimo elemento array[-2]; // 2, il penultimo elemento array[-3]; // 1, il terzultimo elemento

In altre parole, array[-N] equivale a array[array.length - N].

Create un proxy che implementa questa funzionalità.

Ecco come dovrebbe funzionare:

let array = [1, 2, 3]; array = new Proxy(array, { /* il vostro codice */ }); alert( array[-1] ); // 3 alert( array[-2] ); // 2 // Le altre funzionalità dell'array devono rimanere inalterate
let array = [1, 2, 3]; array = new Proxy(array, { get(target, prop, receiver) { if (prop < 0) { // anche se vi accediamo come arr[1] // prop è una stringa, quindi dobbiamo convertirla a number prop = +prop + target.length; } return Reflect.get(target, prop, receiver); } }); alert(array[-1]); // 3 alert(array[-2]); // 2