首页 > 解决方案 > 推送到嵌套不可变对象中的数组

问题描述

请我想从不存在的组对象中获得如下对象。

{
  name: '',
  group: {
    [nameValue]: [1,2,3,4]

  }

}

我想将一个项目推送到[nameValue]它与文本匹配的位置。我的代码如下

myObj.mergeDeep(myObj , {
  groups: {
    [newObject.get('key')]: newObject
  }
});

上面的代码将 my 更新[newObject.get('key')]为一个对象。我的问题是[newObject.get('key')]数组类型,我如何推送到数组而不是对象。我想在下面有一个项目数组[newObject.get('key')]。任何帮助,将不胜感激。

标签: immutable.js

解决方案


假设myObj是不可变映射或类似的,您可以使用.updateIn(). 文档

myObj = myObj.updateIn(
  [newObject.get('key')],
  List(),
  list => list.push(newObject)
);

推荐阅读