数组更改反映在原始数组中

时间:2015-02-02 04:09:13

标签: javascript arrays d3.js

我有一个模式,我有一个全局数组,每当它需要处理时,将它移动到一个本地数组并操纵它,以保持原始数组完好无损。到目前为止,它一直运作良好。

function updateSpend(dataspend,year){
  // moving data spend global spend 
  // the value data spend itself is created from another Global attribute in             //    
// calling class. Something like this **var loc = Object.create(spend);**
  globalSpend = dataspend;
  // After the subsequent for loop the value of the original reflects the change
  dataspend.forEach(function(d){
      var val  = d.values.filter(function(d){
        if(d.key === year.key)
          return false;
        return true;
      });
      d.values = val;
    })

    var UpdateSvg = 
    d3.selectAll(".rects")
    .data(dataspend);

    //UpdateSvg.exit().remove();


    var rectsAll = UpdateSvg.selectAll("rect")
                    .data(function(d){
      return d.values
    });


    rectsAll.exit().remove();
    rectsAll.append("rect");
    //UpdateSvg.exit().remove();

}

我检查了很多关于数组赋值是如何通过引用传递的SO帖子,并且还尝试了Object.create和其他选项仍然反映了全局数组。 是否有任何运营商让他们保持独立?

谢谢, 威拉

0 个答案:

没有答案