寄语:问题比答案更重要
建议自己先有个思考的过程,有了自己的答案或者疑问再看解析进行对比。
目前解析在逐步添加中,也可以跳转链接查看。
参考解析:
const proxyArray = arr => {
const length = arr.length;
return new Proxy(arr, {
get(target, key) {
key = +key;
while (key < 0) {
key += length;
}
return target[key];
}
})
};
var a = proxyArray([1, 2, 3, 4, 5, 6, 7, 8, 9]);
console.log(a[1]); // 2
console.log(a[-10]); // 9
console.log(a[-20]); // 8
解析或答案仅供参考。