使用数组时javascript中出现意外输出

使用数组时javascript中出现意外输出,javascript,arrays,Javascript,Arrays,为什么此阵列获得7个数据拷贝 $('body').on('click', '#BtnSaveMed', function() { console.log("Clicked"); var Prescription = DBrand = DGeneric = DDose = DDoseUnits = DFreq = DDurn = DDurUnits = []; var loop = 0; $(".DrugRow").each(function() { console.log

为什么此阵列获得7个数据拷贝

$('body').on('click', '#BtnSaveMed', function() {
  console.log("Clicked");
  var Prescription = DBrand = DGeneric = DDose = DDoseUnits = DFreq = DDurn = DDurUnits = [];
  var loop = 0;
  $(".DrugRow").each(function() {
    console.log("Looped:" + loop++);
    id = $(this).attr('id');
    id = id.replace("DrugRow", "");
    console.log("id:" + id);
    BrandVal = $("#brand" + id).val();
    GenericVal = $("#generic" + id).val();
    DoseVal = $("#dose" + id).val();
    DoseunitVal = $("#doseunits" + id).val();
    FreqVal = $("#freq" + id).val();
    DurnVal = $("#durn" + id).val();
    DurnunitVal = $("#durnunit" + id).val();
    console.log("Brand:" + BrandVal + " Generic" + GenericVal);
    count = 0;
    if ( (BrandVal != "") && (GenericVal != "")) {
      console.log("if loop count:" + count++);
      DBrand.push(BrandVal);
      DGeneric.push(GenericVal);
      DDose.push(DoseVal);
      DDoseUnits.push(DoseunitVal);
      DFreq.push(FreqVal);
      DDurn.push(DurnVal);
      DDurUnits.push(DurnunitVal);
    }

  });
  var jsondata=JSON.stringify(DBrand);
  console.log("DBrand is " + jsondata);
  Prescription = [DBrand, DGeneric, DDose, DDoseUnits, DFreq, DDurn, DDurUnits];
  var jsondata=JSON.stringify(Prescription);
  console.log(jsondata);
});
HTML:

处方中的预期数据:

["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""]
[["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""]]
处方中的数据:

["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""]
[["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""],["AUGMENTIN DUO 375MG TABLET","AMOXICILLIN 250MG+CLAVULANIC 125MG","","","","",""]]

为什么我的阵列有七个我期望的副本?

var-Prescription=DBrand=DGeneric=DDose=DDoseUnits=DFreq=DDurn=DDurUnits=[]; 上述数组类型变量为引用类型。这就是为什么有重复记录。 您可以更改定义变量的方式,如下所示: var公式=[];var DBrand=[];var DGeneric=[]; Var DDose=[];var DDoseUnits=[];var-DFreq=[];var-DDurn=[];var DDurUnits=[]