javascript - Immutable.js 集包含重复值

标签 javascript immutable.js

我面临 Immutable.js 集的问题,根据文档,它只能包含唯一值。 这个fiddle中的代码将导致集合中出现 2 个重复条目。

虽然此单元测试通过,但问题很可能是用户错误。

it('should only have unique object values', () => {
  const set = Set<any>();
  const newSet = set.add({ form: 'form1', name: 'control1', value: 10 });
  const finalSet = set.add({ form: 'form1', name: 'control1', value: 10 });
  expect(finalSet.count()).toBe(1);
});

谁能解释一下吗?

最佳答案

我已经完成了:

    const stuff = Immutable.List(data)
        .map(x => Immutable.fromJS(x))
        .toSet()
        .map(x => x.toJS())

我的输入是一个对象数组,并使所有对象不可变,然后该集合不再包含不完整的值。

并不是说这是一个更好的答案,事实上,我在读完这篇文章后意识到这是我需要做的。但这并不是一个坏模式。

关于javascript - Immutable.js 集包含重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47759806/

相关文章:

javascript - Drupal block View 执行 Javascript 函数

javascript - 如何在脚本中/从 CLI 中分析 javascript 处理后的网页标记?

java - HTML 页面作为 AJAX 响应?

javascript - react +不可变.js : merge Map into List of Maps to update state

javascript - 如何使用 Immutable.js 在嵌套 Map 中添加新的键/值对

javascript - 更新未知的 Immutable.js 映射结构

javascript - 如何在immutablejs中获取列表 HashMap 的合并集嵌套数组

javascript - 在 Firebase 中延迟加载时防止加载重复项

javascript - getElementsByClassName 不返回固定答案

reactjs - React/Redux/Immutable - 关于子组件 HOC 策略的困惑