如何使用Immutable删除深层属性

时间:2016-07-01 22:15:55

标签: javascript immutable.js

我将以下对象作为不可变映射:

{
  "email": {
    "events": {},
    "value": "test@mail.com"
  },
  "name": {
    "events": {},
    "value": "My Name"
  }
}

使用Immutable,如何删除所有对象的events属性?像(伪代码):

fields.deleteIn(['*', 'events'])

或者(奖金问题),最好只过滤以便只保留value

1 个答案:

答案 0 :(得分:3)

知道了。

fields = fields.map(field => ({ value: field.get('value') }))

更新时间:2016年12月7日

实际上,这有点懒惰,显然并没有真正消除这个领域。这样更好:

fields = fields.map(field => field.delete('events'))