手写用 ES6 proxy 如何实现数组负索引

使用 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

(0)
czhdawn的头像czhdawn
上一篇 2025年8月20日 23:16
下一篇 2025年8月23日 19:35

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注