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