Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在immutable.js setIn([])函数中动态设置路径_Javascript_Immutable.js - Fatal编程技术网

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

Javascript 在immutable.js setIn([])函数中动态设置路径,javascript,immutable.js,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]); 这是行不通的 输出

我有一个不可变的对象:

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()
方法进行此操作。像这样:


让immutableObj=fromJS(mutableObject).setIn(键[1,2]).toJS()

您的代码很好。如果需要输出,只需转换为常规JS对象。您可以使用
.toJS()
方法进行此操作。像这样:

让immutableObj=fromJS(mutableObject).setIn(键[1,2]).toJS()