Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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
防止2d数组变异,javascript_Javascript_Immutable.js - Fatal编程技术网

防止2d数组变异,javascript

防止2d数组变异,javascript,javascript,immutable.js,Javascript,Immutable.js,我有一个数组,我希望它保持不变,直到我说另外一个。我如何防止它改变 var orgArr = [[1,1], [2,2]]; function modArr(arr){ arr[0][0] = 5; return arr; } modArr(orgArr); console.log(orgArr); // It has changed 我用immutable试了一些(我把它加到小提琴上) 差不多 var orgArr = Immutable.List([[1,1],[2,2]]

我有一个数组,我希望它保持不变,直到我说另外一个。我如何防止它改变

var orgArr = [[1,1], [2,2]];


function modArr(arr){
  arr[0][0] = 5;
  return arr;
}

modArr(orgArr);
console.log(orgArr); // It has changed

我用immutable试了一些(我把它加到小提琴上)

差不多

var orgArr = Immutable.List([[1,1],[2,2]])

然后使用
toArray()
。但我无法让它工作。

在修改函数中,您需要先从不可变转换为修改,然后再转换回不可变

arr=arr.toArray();
//.... modify arr
//....
arr= arr.fromJS(arr);
以下是更新的代码:

在修改函数中,您需要先从不可变转换为修改,然后再转换回不可变

arr=arr.toArray();
//.... modify arr
//....
arr= arr.fromJS(arr);
以下是更新的代码:

老兄,你为什么要删除上一个问题?我回答了。老兄,你为什么删除你之前的问题?我回答了。