在immutable.js结构中有一个mutable时测试相等性

时间:2016-01-07 18:51:50

标签: javascript immutable.js

当一切都是不可变的时,测试相等性很容易:

a = Map({foo: 1});
b = Map({foo: 1});
is(a,b) //true

现在,让我们在里面放一个可变的结构:

a = Map({foo:{bar: 1}});
b = Map({foo:{bar: 1}});
is(a,b) //false

荡!那么最干净的方法是什么? (是的,是的,我知道一个不可变的内容中的可变物是生病和错误的,但我无法控制人们在我的结构中放置的内容)

一些想法:

  • 使用toJS和deepEqual本机对象。我真的不喜欢这个,因为我对项目订单等事情失去了很多控制权。
  • 递归使用fromJS我喜欢这个,我认为这可能是最好的方法,但假设我不知道变量的形状,我无法弄清楚如何只在一行或2.欢迎代码示例!
  • ???

0 个答案:

没有答案