Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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 变量自动更改值,无需AngularJS中的任何链接_Javascript_Arrays_Angularjs_Object - Fatal编程技术网

Javascript 变量自动更改值,无需AngularJS中的任何链接

Javascript 变量自动更改值,无需AngularJS中的任何链接,javascript,arrays,angularjs,object,Javascript,Arrays,Angularjs,Object,我在AngularJS的控制器中有两个变量,即 _this.currentData=new Array(); _this.masterCurrentData=new Array(); 后来,我创建了另一个临时对象数组,并使用循环等单独填充 var tmpDataSort=[{ "values":new Array(), disabled: false, "key":"Retail" },{ "va

我在AngularJS的控制器中有两个变量,即

_this.currentData=new Array();
_this.masterCurrentData=new Array();
后来,我创建了另一个临时对象数组,并使用循环等单独填充

var tmpDataSort=[{
    "values":new Array(),
             disabled: false,
            "key":"Retail"
        },{
            "values":new Array(),
             disabled: true,
            "key":"Commercial"
        },{
            "values":new Array(),
             disabled: true,
            "key":"Industrial"
        },{
            "values":new Array(),
             disabled: true,
            "key":"Residential"
        }]
_this.masterCurrentData=tmpDataSort;
_this.currentData=tmpDataSort;
tmpDataSort=null;
以后每当我对当前数据执行自动操作时,MasterCurrentData的值都会发生变化,并且我从未使用过MasterCurrentData

_this.modifyCurrentBean = function(locName, selectFlag){
    console.log(_this.masterCurrentData[0].values)
        for(var i=0;i<_this.currentData.length;i++){
            for(var j=0;j<_this.currentData[i].values.length;j++){
                if(_this.currentData[i].values[j].x==locName){                      
                    _this.currentData[i].values.splice(j,1);
                    break;
                }
            }
        }
        console.log(_this.masterCurrentData[0].values)
    }
\u this.modifyCurrentBean=函数(locName,selectFlag){
console.log(_this.masterCurrentData[0]。值)

对于(var i=0;i您将
tmpDataSort
分配给
\u this.currentData
\u this.masterCurrentData
,因此通过更改
\u this.currentData
您可以更改
tmpDataSort
\u this.mastercurrentdatadata
。您可以使用
\u this.currentData=copy>创建
tmpDataSort
的副本(tmpDataSort);

您能做一个演示吗,这样我们可以尝试一些帮助您的方法。因为currentData和masterCurrentData引用同一个数组。在数组上调用splice将影响这两个数组。
currentData
masterCurrentData
指向同一个数组。