当一切都是不可变的时,测试相等性很容易:
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.欢迎代码示例!