var total=new Array(13);
total[0]=parseInt(dpm[0]);
for (i=1;i <dpm.length-1;i++) total[i]=parseInt(dpm[i])+total[i-1];
for (i=dpm.length-1;i>0;i--)
if (dayim>total[i-1]){
dayim=dayim-total[i-1];
miy=i;
}
这段代码还是看不太懂,你能给一句一句的解释一下吗?
total[0]=parseInt(dpm[0]);
for (i=1;i <dpm.length-1;i++) total[i]=parseInt(dpm[i])+total[i-1];
for (i=dpm.length-1;i>0;i--)
if (dayim>total[i-1]){
dayim=dayim-total[i-1];
miy=i;
}
这段代码还是看不太懂,你能给一句一句的解释一下吗?
total[0]=parseInt(dpm[0]); //第一位放DPM的第一位并转数字型.
for (i=1;i <dpm.length-1;i++) total[i]=parseInt(dpm[i])+total[i-1]; //第I位(由第二开始)放前一月加今个月的日数和
for (i=dpm.length-1;i>0;i--)
if (dayim>total[i-1]){ //当前日(在全年总天数的日子)大于某月的总数的话.也就是说是超过那个月的天数
dayim=dayim-total[i-1]; //就返回是该月第几日 miy=i; //拿月份标记 } 还是建议你找个现成的算法吧...这个算法不大好...