如何解决使用代理观察阵列添加和删除项
我正在使用代理服务器,我的目标是遵守某些阵列上的操作。特别是我想在添加或删除项目时运行一些代码。我目前拥有的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
部分有关。当在数组上调用splice
和shift
之类的方法时,我真的很想知道要删除哪些元素。有没有很好的方法可以做到这一点?在deleteProperty
方法中,我似乎没有必要的信息,也许这不是正确的地方?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。