防止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);
以下是更新的代码:
老兄,你为什么要删除上一个问题?我回答了。老兄,你为什么删除你之前的问题?我回答了。