Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript don';我不知道如何解决这个问题_Javascript_Arrays_Function_For Loop - Fatal编程技术网

Javascript don';我不知道如何解决这个问题

Javascript don';我不知道如何解决这个问题,javascript,arrays,function,for-loop,Javascript,Arrays,Function,For Loop,我必须用法定货币计算汇率的确切数额。精确的纸币和硬币必须插入阵列中。我被困在这一步,不知道如何解决它 function countChange(amount) { const currency = [500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01]; const change = []; for (let i = 0; i < currency.length; i++) {

我必须用法定货币计算汇率的确切数额。精确的纸币和硬币必须插入阵列中。我被困在这一步,不知道如何解决它

function countChange(amount) {
    const currency = [500, 200, 100, 50, 20, 10, 5, 2, 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01];
    const change = [];

    for (let i = 0; i < currency.length; i++) {
        const value = currency[i];
        if (value <= amount) {
            change.push(value)
        }

    }
    return change;

};


console.log(countChange(500.26));
函数计数更改(金额){
常量货币=[500,200,100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01];
常数变化=[];
for(设i=0;i如果(值我认为这可能是您所期望的:

函数计数更改(金额){
常量货币=[500,200,100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01];
常数变化=[];
var=0;
while(已更改<金额){
对于(变量i=0;i=0){
变更推送(货币[i]);
变更+=货币[i];
金额-=货币[i];
}
}
}
回报变化;
}

log(countChange(500.26))
下面是一个简单的例子

只需对每个硬币大小进行迭代,将当前总金额除以每个硬币大小,如果有任何硬币,则将其放入数组中

函数计数更改(金额){
常量货币=[500,200,100,50,20,10,5,2,1,0.5,0.2,0.1,0.05,0.02,0.01];
常数变化=[];
for(设i=0;i0)
{
换。推({
硬币大小,
硬币
});
}
}
回报变化;
};

控制台日志(countChange(500.26))59449在学习过程中,几乎这里的每个人都必须至少解决一次这样的练习。你(也就是你的程序)如何继续数数要给的货币?但这是错误的结果…总计500.25,而不是500.26没有问题,另一个答案更好