我有以下JSON和想更新使用Immutable.js如何修改一個複雜的JSON對象使用不可變
例如,取決於援助,投標和CID值 提供以下輸入。 援助= A,出價= 1,CID = 4,的NewValue =「四」 如果上述輸入被提供的值「一」需要被改變成「四」
let sampleJson = {
Aid: 'A', detail:"sample", list: [
{
"Bid": "1",
"group": [
{
"name": "Group A",
"Cid": "4",
"value": "One"
},
{
"name": "Group A",
"Cid": "41",
"value": "1"
},
]
},
{
"Bid": "2",
"group": [
{
"name": "Group A",
"Cid": "4",
"value": "1"
},
{
"name": "Group A",
"Cid": "4",
"value": "1"
},
]
};
我能夠訪問值使用下面的代碼。我如何返回具有更新值的整個JSON?
let variale = Immutable.fromJS(sampleJson).
getIn(['list']).
find(allocation => allocation.get("Bid") === "1").
getIn(['group']).
find(fun => fun.get("Cid") === "4").set('value',"FOUR");
任何人有任何建議如何解決這個問題?
你看過[setIn](https://facebook.github.io/immutable- js/docs /#/ Map/setIn)方法? –
我已經看過setIn方法。當你有一個ImmutableMap時,setIn有效。看起來,當我使用Immutable.fromJS上面的json被轉換爲列表和地圖。那是我掙扎的地方。 – RelexReact