微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用代理观察阵列添加和删除项

如何解决使用代理观察阵列添加和删除项

我正在使用代理服务器,我的目标是遵守某些阵列上的操作。特别是我想在添加删除项目时运行一些代码。我目前拥有的example如下:

const makeProxy = (xs) =>
  new Proxy(xs,{
    set(array,prop,value,receiver) {
      console.log(`Set ${String(prop)} -> ${value}`);
      return Reflect.set(array,receiver);
    },deleteProperty(array,prop) {
      console.log(`Delete ${String(prop)} | ${array[prop]}`);
      return Reflect.deleteProperty(array,prop);
    },});

const xs = makeProxy([]);

xs.push(10,20,30,40);
console.log("==========");
xs.splice(0,1);
console.log("==========");
xs.shift();
console.log("==========");

console.log(xs);

我所要解决的问题与代理服务器的deleteProperty部分有关。当在数组上调用spliceshift之类的方法时,我真的很想知道要删除哪些元素。有没有很好的方法可以做到这一点?在deleteProperty方法中,我似乎没有必要的信息,也许这不是正确的地方?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。