如何从ArrayMapNode类型的变量中正确删除条目?

时间:2019-03-31 17:34:42

标签: javascript reactjs immutable.js

我有一个变量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类型变量的行为不同?还是有一种更漂亮的方法来完成解决方案,而不是我所做的事情?

谢谢

0 个答案:

没有答案