我是 JS 函数和对象的新手,我正在尝试迭代一个数组……这是我的示例代码,我试图用输入值获取硬币的倍数
var flag=0;var chipval=0;var num=0;
var main = function(coins){
var coinsarr = [1,5,10,25,50,100,500,501];var length=coinsarr.length
var remval = coins;
var coinskey = "";
while(flag==0){
for(i=0;i<length;i++){
if(coinsarr[i]>remval){
chipval = coinsarr[i-1];
num = parseInt(remval/chipval);
if(remval%chipval==0){
flag = 1;
break;
}else{
remval=remval%chipval;
$flag = 0;
break;
}
}
}
coinskey = coinskey+","+chipval+":"+num;
}
coinskey = coinskey.replace(/(^,)|(,$)/g, "")
alert(coinskey);
}
当我运行 main(120) 时,这将返回 100:2,10:2(这与 2 的 100 个硬币和 2 的 10 个硬币无关)
当我运行 main(720) 时,我遇到了内存泄漏……上面写着“此页面上的脚本使用了太多内存”;谁能告诉我,问题出在哪里,否则这是正确的方法吗?
感谢您的时间和耐心...