如何使用 Immutable 删除深层属性
How to remove deep properties using Immutable
我有以下对象作为不可变映射:
{
"email": {
"events": {},
"value": "test@mail.com"
},
"name": {
"events": {},
"value": "My Name"
}
}
使用 Immutable,如何删除所有对象的 events
属性?类似于(伪代码):
fields.deleteIn(['*', 'events'])
或者(奖金问题),最好只过滤以便只保留 value
。
知道了。
fields = fields.map(field => ({ value: field.get('value') }))
更新:12/7/2016
实际上,这有点懒惰,并没有真正删除该字段。这个比较好:
fields = fields.map(field => field.delete('events'))
我有以下对象作为不可变映射:
{
"email": {
"events": {},
"value": "test@mail.com"
},
"name": {
"events": {},
"value": "My Name"
}
}
使用 Immutable,如何删除所有对象的 events
属性?类似于(伪代码):
fields.deleteIn(['*', 'events'])
或者(奖金问题),最好只过滤以便只保留 value
。
知道了。
fields = fields.map(field => ({ value: field.get('value') }))
更新:12/7/2016
实际上,这有点懒惰,并没有真正删除该字段。这个比较好:
fields = fields.map(field => field.delete('events'))