我想利用Immutable的函数从这个结构更新我的结构,但我不确定如何做到这一点。我的标签不应该是一个数组,但应该成为仅用于发布到我的REST API的对象。
有几个关于如何更新深度属性和嵌套数组的示例,但我想更改深度值为2的数组。
auth.token.sub
到这个结构
order: {
createDate: '2016-08-07',
pickupDate: '2017-02-02',
items: [
{
price: '25',
tags: [
'Blue',
'Pants'
]
}
]
}
答案 0 :(得分:0)
这样的事情:
const { fromJS, Map } = require("immutable")
const obj = fromJS({
order: {
createDate: '2016-08-07',
pickupDate: '2017-02-02',
items: [
{
price: '25',
tags: [
'Blue',
'Pants'
]
}
]
}
})
const items = obj
.getIn(['order', 'items'])
.map((item) => {
const newTags = item
.get('tags')
.map((tag) => ({ text: tag }));
return item.set('tags', newTags);
});
const newMap = obj.setIn(['order', 'items'], items);