gpt4 book ai didi

javascript - Immutable.Set.contains 返回 false

转载 作者:搜寻专家 更新时间:2023-11-01 04:30:20 24 4
gpt4 key购买 nike

我想创建一组不可变的路径。在我的例子中,路径只是一个字符串数组。假设我们有以下路径。

var paths = [["a"], ["a", "b", "c"]];

然后我像这样创建不可变集

var selectedPaths = Immutable.Set(paths);

尽管selectedPaths.first()返回 ["a"] ,我不明白为什么 selectedPaths.contains(["a"])返回 false .

编辑:好吧,我得到了为什么会发生这种情况的答案,但我仍然无法让它按照我的需要工作。

解决方案:正如@Alnitak 所说,我通过比较与Immutable.List(["a"]) 的路径解决了这个问题。而不是简单的数组

最佳答案

根据 the docs , Immutable 使用Immutable.is() 函数来执行相等性检查,但是那个.is() 检查只在给定其他Immutable 时执行“值比较”检查.* 对象,而不是原生 JS 数组,它对其执行“引用比较”检查。

因此,请尝试将您的内部值存储为 Immutable.List 而不是普通的 JS 数组。

关于javascript - Immutable.Set.contains 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34995444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com