javascript - 在immutable.js setIn([]) 函数中动态设置路径

标签 javascript immutable.js

我有一个不可变的对象:

let mutableObject = {
  test: 
     { test2: { a:1, b:2, c:3 } }
}; 

我需要使用 setIn() 函数在 test2 对象内设置一个值。但在这种情况下,我必须使用数组中的值动态设置它。

let keys = ['test', 'test2'];

我尝试像这样设置值:

let immutableObj = fromJS(mutableObject).setIn(keys, [1, 2]);

这不起作用。

输出应该是:

{
  test: { 
    test2 : [1, 2]
  }
}

最佳答案

你的代码很好。如果您想要该输出,您只需转换为常规 JS 对象即可。您可以使用 .toJS() 方法来实现此目的。就像这样:

let immutableObj = fromJS(mutableObject).setIn(keys, [1, 2]).toJS();

关于javascript - 在immutable.js setIn([]) 函数中动态设置路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38627151/

相关文章:

javascript - 从 server.R 中的 .js 接收数据

javascript - Visual Studio 2013 - AngularJS 基本问题

Eclipse 的 JavaScript 编辑器插件

javascript - 在与服务器通信时,将 Immutable.js 对象与 JSON 进行相互转换是否很常见

javascript - 如何使用 Polymer 渲染具有多个 AJAX 调用的内容?

javascript - Node.js Web 服务器中的并行请求

immutable.js - 将值附加到列表

javascript - ImmutableJS 设置不扁平化

javascript - 将平面 json 结构转换为分层结构

javascript - 在 Typescript 中输入 Immutable.js Map