gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 02:19:55 25 4
gpt4 key购买 nike

为什么这个数组会得到 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:

<div class="container">
<div class="row">
<div class="col-sm-6">
<span for="" class="text-left">Brand Name</span>
</div>
<div class="col-sm-6">
<span for="">Generic name</span>
</div>
<div class="col-sm-2">
<span for="">Dose</span>
</div>
<div class="col-sm-2">
<span for="">Units</span>
</div>
<div class="col-sm-3 col-sm-offset-5">
<span class="text-nowrap" for="">Frequency</span>
</div>
<div class="col-sm-1">
<span for="">Durn</span>
</div>
<div class="col-sm-2">
<span for="inputEmail4">Units</span>
</div>
</div>
<div class="row DrugRow" id="DrugRow1">
<div class="col-sm-6">
<input type="text" id="brand1" class="form-control BrandName input-sm ui-autocomplete-input" placeholder="Brand name" aria-label="BrandName" aria-describedby="" autocomplete="off">
</div>
<div class="col-sm-6">
<input type="text" id="generic1" class="form-control GenericName input-sm" placeholder="Generic name" aria-label="GenericName" aria-describedby="">
</div>
<div class="col-sm-2">
<input type="text" id="dose1" class="form-control Dose input-sm" placeholder="Dose" aria-label="Dose" aria-describedby="">
</div>
<div class="col-sm-2">
<input type="text" id="doseunits1" class="form-control DoseUnits input-sm" placeholder="mg" aria-label="DoseUnits" aria-describedby="">
</div>
<div class="col-sm-3">
<input type="text" id="freq1" class="form-control Frequency input-sm" placeholder="OD" aria-label="Frequency" aria-describedby="">
</div>
<div class="col-sm-2">
<input type="text" id="durn1" class="form-control Durn input-sm" placeholder="5" aria-label="Durn" aria-describedby="">
</div>
<div class="col-sm-2">
<input type="text" id="durnunit1" class="form-control DurationUnits input-sm" placeholder="days" aria-label="DurationUnits" aria-describedby="">
</div>
<div class="col-sm-1">
<a id="DelRow1" class="btn btn-danger btn-large DelRow" href="#" tabindex="5"><i class="fa fa-minus-circle fa-lg"></i></a>
</div>
</div>
<div class="row">
<div class="col-sm-23"></div>
<div class="col-sm-1">
<a id="AddRow2" class="btn btn-primary btn-large AddRow" href="#" tabindex="5"><i class="fa fa-plus-circle fa-lg"></i></a>
</div>
</div>
</div>

控制台输出:

Clicked
Looped:0
id:1
Brand:AUGMENTIN DUO 375MG TABLET GenericAMOXICILLIN 250MG+CLAVULANIC 125MG
if loop count:0
DBrand is ["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 处方 = DBrand = DGeneric = DDose = DDoseUnits = DFreq = DDurn = DDurUnits = [];上面的数组类型变量都是引用类型。这就是为什么存在重复记录的原因。您可以更改定义变量的方式,如下所示:var 处方 = []; var DBrand =[]; var DGeneric =[];Var DDose = []; var DDoseUnits = []; var DFreq =[]; var DDurn =[]; var DDurUnits = [];

关于javascript - 使用数组时 JavaScript 中出现意外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49208305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com