不可变JS - 不可变深度合并正在覆盖对象

时间:2018-05-22 18:23:01

标签: javascript ecmascript-6 immutable.js

我在我的节点项目中使用Immutable JS来保存内存中非常庞大的地图块。每个键都有一个对象作为值。例如:

const obj1 = {
  "foo.bar": {
     valid: ['baz']
  }
}

const obj2 = {
  "foo.bar": {
     key1: 'abc',
     key2: [1, 2, 3],
     valid: ['baz', 'bar', 'foo']
  }
}

const obj3 = Immutable.Map(obj2).mergeDeep(Immutable.Map(obj1))的预期输出为

"foo.bar": {
     key1: 'abc',
     key2: [1, 2, 3],

     valid: ['baz'] // here

  }

我得到的是

"foo.bar": {
     valid: ['baz']
 }

我使用的是ImmutbaleJs 3.8.1。

0 个答案:

没有答案