Accs au tableau [-1]
Dans certains langages de programmation, nous pouvons accder aux lments du tableau laide dindex ngatifs, compts partir de la fin.
comme a:
let array = [1, 2, 3];
array[-1]; // 3, le premier lment en partant de la fin
array[-2]; // 2, le second lment en partant de la fin
array[-3]; // 1, le troisime lment en partant de la fin
En dautres termes, array[-N] est identique array[array.length - N].
Crez un proxy pour implmenter ce comportement.
Voil comment cela devrait fonctionner:
let array = [1, 2, 3];
array = new Proxy(array, {
/* your code */
});
alert( array[-1] ); // 3
alert( array[-2] ); // 2
// Les autres fonctionnalits de array doivent tre conserves
let array = [1, 2, 3];
array = new Proxy(array, {
get(target, prop, receiver) {
if (prop < 0) {
// mme si on y accde comme arr[1]
// prop est une chane, il faut donc la convertir en nombre
prop = +prop + target.length;
}
return Reflect.get(target, prop, receiver);
}
});
alert(array[-1]); // 3
alert(array[-2]); // 2