尽管我进行了所有可能的检查以了解某些分配没有通过,但该批次没有用:

alert("valorsumo = "+valorsumo);  // okay
for (j = 0; j <= "<?php echo $fVN ?>"; j++) {
  horp = valornbroj[j];
  alert("horp = "+horp);  // okay
  elcentoj[j] = Math.round(horp/valorsumo * 1000) / 10;  // percentage with one decimal
  alert("percentage = "+elcentoj[i]);  //  undefined !


奇怪的是,在单独的文件中遇到的相同类型的代码会产生所需的答案:

function het()  {
  var nbroj = [],
  sumo = 3894,
  elcentoj = [];
  nbroj[0] = "290046";
  elcentoj[0] = Math.round(nbroj[0]/sumo * 1000) / 10;
  alert("percentage = "+elcentoj[0]);  // okay
}


我瞎了吗?提前致谢 !

最佳答案

在这条线

alert("percentage = "+elcentoj[i]);


我没有定义用j代替i

alert("percentage = "+elcentoj[j]);


所以你的循环会像这样

for (j = 0; j <= "<?php echo $fVN ?>"; j++) {
  horp = valornbroj[j];
  alert("horp = "+horp);  // okay
  elcentoj[j] = Math.round(horp/valorsumo * 1000) / 10;  // percentage with one decimal
  alert("percentage = "+elcentoj[j]);
}

09-25 16:49