AB *_*yan 0 javascript arrays for-loop
我设置了两个数组,我希望将每个数组中的每个值相乘.然后我想以变量的形式得到总值.我将发布下面的内容.我想我的问题可能是我不知道如何将每次运行的代码加在一起?
var flatQty=[];
flatQty[0]= document.getElementById("flats1").value;
flatQty[1]= document.getElementById("flats2").value;
flatQty[2]= document.getElementById("flats3").value;
flatQty[3]= document.getElementById("flats4").value;
flatQty[4]= document.getElementById("flats5").value;
var flatWidth=[];
flatWidth[0]=document.getElementById("flatwidth1").value;
flatWidth[1]=document.getElementById("flatwidth2").value;
flatWidth[2]=document.getElementById("flatwidth3").value;
flatWidth[3]=document.getElementById("flatwidth4").value;
flatWidth[4]=document.getElementById("flatwidth5").value;
for (var i=0;i<5;i++)
{
var flatCharge=flatWidth[i]*2*flatQty[i];
}
document.getElementById("flatTest").innerHTML=flatCharge;
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,没有任何内容被打印到id ="flatTest"中.
你的问题是你正在重新定义flatCharge循环内部,因此它在循环之外是不正确的.此外,您不是在添加值,而是在循环的每次迭代中替换它们.将循环更改为:
var flatCharge = 0;
for (var i = 0; i < 5; i++) {
flatCharge += flatWidth[i] * 2 * flatQty[i];
};
document.getElementById("flatTest").innerHTML = "" + flatCharge;
Run Code Online (Sandbox Code Playgroud)
它应该工作.