防止2d数组变异,javascript

时间:2016-12-14 08:11:56

标签: 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

https://jsfiddle.net/50e6k7mc/

我尝试了一些不可变的(我添加到小提琴中)。

这样的东西
var orgArr = Immutable.List([[1,1],[2,2]])

然后使用toArray()。但是我无法让它发挥作用。

1 个答案:

答案 0 :(得分:0)

在修改功能中,您需要首先从Immutable转换,修改然后转换回Immutable

Object

这是更新的代码: https://jsfiddle.net/zvhp5k91/