我有一个变量cache
,其值如下所示。其中18866
ID是此变量的键之一。
Map {size: 1, _root: ArrayMapNode, __ownerID: undefined, __hash: undefined, __altered: false}
size: 1
__altered: false
__hash: undefined
__ownerID: undefined
_root: ArrayMapNode
entries: Array(1)
0: Array(2)
0: 18866
1: Map {size: 1, _root: ArrayMapNode, __ownerID: undefined,
...
__proto__: KeyedIterable
现在,我搜索了从地图上删除项目的方法是通过这段代码cache.delete(id)
。但是在测试时,此代码不会像应有的那样返回true / false,而是返回带有已删除ID的新版本的array。
它并没有修改原始变量cache
,所以我最终做了这样的事情,只是使它按应有的方式工作。
cache = cache.delete(18866)
不确定这种类型的数组是否实际上被视为Map或它的另一个名称。我担心的是,为什么.delete()
方法的行为与普通Map类型变量的行为不同?还是有一种更漂亮的方法来完成解决方案,而不是我所做的事情?
谢谢