在javascript函数中使用数组元素的值不起作用

时间:2013-12-28 08:25:52

标签: javascript arrays

这个批次不起作用,虽然我已经进行了所有可能的检查,以确定某个任务没有通过:

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
}
我是瞎了吗?提前谢谢!

1 个答案:

答案 0 :(得分:2)

在这一行

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]);  
}