使用 ES6 的 Proxy 实现数组负索引
负索引:例如,可以简单地使用arr[-1]替代arr[arr.length-1]访问最后一个元素,[-2]访问倒数第二个元素,以此类推
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])
console.log(a[-1])
原创文章,作者:czhdawn,如若转载,请注明出处:https://www.czhdawn.cn/archives/5003