I'd ask a better question, but I don't don't know how. Thanks for your help.
***ISSUE: I'm sending array vari to a function and it's coming back changed even though I didn't return it or even use same variable name. Desired function: variable vari does not change
I've logged the function and isolated the change to the [].forEach() statement below, noted with ***. I send vari but return varis and assign to new variable sum. How does this change the vari variable?
//this is what calls the sub function using vari, an array, 411.0, 13.0
  var sum = doSum1(vari);
    function doSum1(vari0) {
  // called from doSum1
  // grab Variance data // ALL COLUMNS FOR NOW // fix loc/stat columns below
  var vstat = vari0[0].indexOf('Status');
  vari1 = vari0.filter(r=>r[vstat]); // to ensure indexOf works, and speed processing
  var vhdr = ['Campaign ID','Campaign','Site ID','Site','Placement','Placement ID','Date','DCM Imp','Upw Imp','Tag Location','Status','Site Count','Site Imp'];
  // move loc and status over in place of variance and percent (loc/stat will be site ct/imp)
  varis=[];
  // *** THIS FOREACH CHANGES varis AND vari. Not sure how... see more specifically below
  ['Not Tracking','Undertracking','Overtracking','Absent in DCM'].forEach(rf=>{
    varis.push(vhdr.map(r=>''));
    varis[varis.length-1][0]=rf;
    varis.push(vhdr);
    if(vari1.filter(r=>r[vstat].indexOf(rf)>=0).length==0) {
      varis.push(vhdr.map(r=>''));
      varis[varis.length-1][0]='none found';    
    } else {
      varis.push(vari1.filter(r=>r[vstat].toString().indexOf(rf)>=0)[0]); // break out of outer []
      //fix loc/stat location
      //*** MORE SPECIFICALLY, this line in particular changes in vari, not just varis as intended.
      varis[varis.length-1].splice(9,4,varis[varis.length-1][11],varis[varis.length-1][12],'','')
    }
    varis.push(vhdr.map(r=>'')); // trailing blank line
  });
return varis;
I tried this in place of the splice as well, but same result... just not sure how varis is changing vari...
  varis[varis.length-1][9] = varis[varis.length-1][11];
  varis[varis.length-1][10] = varis[varis.length-1][12];
  varis[varis.length-1][11] = '';
  varis[varis.length-1][12] = '';
 
    