尽管我进行了所有可能的检查以了解某些分配没有通过,但该批次没有用:
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]);
}