https://facebook.github.io/immutable-js/docs/#/isCan Immutable.is()可以采用任何不可变类型吗?
我试图比较2 OrderedMaps和Immutable.is函数不起作用。
可以只比较地图和列表?
有什么好办法比较深2个OrderedMaps?
let example: Immutable.OrderedMap = Immutable.OrderedMap({
'a': Immutable.Map({
rate: 1.3411,
key: 1000
}),
'c': Immutable.Map({
rate: 1.3412,
key: 1001
}),
'b': Immutable.Map({
rate: 1.3412,
key: 1002
}),
'd': Immutable.Map({
rate: 1.3410,
key: 1003
})
});
let expectedResult: Immutable.OrderedMap = example;
//adds a field to each immutable map in example
example = modifyFunction(example);
expect(Immutable.is(example, expectedResult)).to.be.true;
function modifyFunction(example: Immutable.OrderedMap): Immutable.OrderedMap {
example.forEach((item, index) => {
item = item.set('rank', index + 1);
});
return example;
}
它继续返回true。我需要它是错误的。
['OrderedMap#equals'(https://facebook.github.io/immutable-js/docs/#/OrderedMap/equals)声称使用'Immutable.is'其实施,所以不看看为什么它不起作用。你能提供一个[mcve]吗? – 4castle
如果修改'example',它将不再等于'expectedResult'。 “false”是正确的输出。 – 4castle
它从未为我回报过假。 – user1261710