https://facebook.github.io/immutable-js/docs/#/isImmutable.is()はImmutable型を使用できますか?
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;
}
これは真のままです。私はそれが間違っている必要があります。
['OrderedMap#equals'](https://facebook.github.io/immutable-js/docs/#/OrderedMap/equals)は、その実装に' Immutable.is'を使用すると主張しています。それがうまくいかない理由を見てください。あなたは[mcve]を提供してもらえますか? – 4castle
'example'を変更した場合、' expectedResult'と等しくなりません。 'false'は正しい出力です。 – 4castle
それは私のためにfalseを返すことはありません。 – user1261710