Написал функцию для решения задачи на FCC , ссылка на задачу :
https://www.freecodecamp.org/learn/javascript-algo...
Функция должна давать сдачу с полученного массива от больших купюр до маленьких. Решил сделать с помощью рекурсии.
Кто может объяснить почему функция начинает бесконечный цикл и как решить проблему?
function checkCashRegister(price, cash, cid) {
let buying = cash - price;
let priceArr = [];
console.log(buying, priceArr);
function cashArr(arr, buying) {
arr.map(el => {
if (el[1] < buying) {
priceArr.push(el);
let elIndex = arr.indexOf(el);
console.log(elIndex, buying -el[1])
if ((buying -el[1])>0){
//return cashArr(arr.slice(elIndex),buying-el[1])
} else {
return null
}
}
});
}
cashArr(cid, buying);
}
checkCashRegister(3.26, 100, [
["PENNY", 1.01],
["NICKEL", 2.05],
["DIME", 3.1],
["QUARTER", 4.25],
["ONE", 90],
["FIVE", 55],
["TEN", 20],
["TWENTY", 60],
["ONE HUNDRED", 100]
]);