Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 如何每12次递增一次,并使用对象文字和while循环保持运行总数?_Javascript_Loops_Sum_Increment - Fatal编程技术网

Javascript 如何每12次递增一次,并使用对象文字和while循环保持运行总数?

Javascript 如何每12次递增一次,并使用对象文字和while循环保持运行总数?,javascript,loops,sum,increment,Javascript,Loops,Sum,Increment,一点历史。这是我交的作业题。他们想让我在12个月的付款后增加代码中的年数,并保持我支付的利息总额。代码可以工作,也可以不抛出错误 这个问题。 我不知道如何每12次迭代增加一个对象文字属性。为了证明你已经支付了12笔款项,而下一年又开始了,我不知道如何保持支付的利息总额 我试过的东西。 我已尝试使用具有年内属性的循环。要么做不到,要么我做错了什么。我尝试使用if-else根据付款ID增加年份,但只增加一次。我试着在循环前后增加一年。然后它与付款ID同步,部分成功 function displayW

一点历史。这是我交的作业题。他们想让我在12个月的付款后增加代码中的年数,并保持我支付的利息总额。代码可以工作,也可以不抛出错误

这个问题。 我不知道如何每12次迭代增加一个对象文字属性。为了证明你已经支付了12笔款项,而下一年又开始了,我不知道如何保持支付的利息总额

我试过的东西。 我已尝试使用具有年内属性的循环。要么做不到,要么我做错了什么。我尝试使用if-else根据付款ID增加年份,但只增加一次。我试着在循环前后增加一年。然后它与付款ID同步,部分成功

function displayWelcome() {
  printLine();
  console.log('Welcome to the credit card payoff tool.');
  printLine();
  console.log('This program will determine the time it \nwill take to pay off a credit card!');
  printLine();
}
displayWelcome();

function calculateMinimumPayment(balance, interestRate) {    
  var calcMinPay = balance * interestRate; 
  console.log(calcMinPay);  
  return calcMinPay 
}

function generatePaymentId() {  // lines 14 - 22 are a closure function. 
  var count = 0;
  function paymentId() {
    count ++;           
    return count;
  }
  return paymentId;
};
var id = generatePaymentId();



function processPaymentSchedule(balance, interest, minimumPayment) {
  var year = 1;
  var counter = 0;
  while (balance > 0) {
    counter ++;
    year += 0.08333333333;
    var interestDecimal = interest / 100;
    var interestMonthly = interestDecimal / 12;
    var interestPaid = balance * interestMonthly;
    var princplePaid = minimumPayment - interestPaid;
    var balance = balance - princplePaid;    

    var payment = {
      year: year.toFixed(0), 
      balance: balance.toFixed(2), 
      paymentId: id(), 
      interestPaid: interestPaid.toFixed(2)
    };

    function definePayment() {
      console.log(payment);  
    } 

    definePayment();

    if (payment.paymentId > 11) {
      year += 1;
    } 

  }
}

function printLine() {
  console.log('---------------------------------------');
}


processPaymentSchedule (1500, 18, 30);

错误:此代码中没有错误消息,只是不知道如何执行上面列出的操作。

要确定它是否是迭代中的每N次计数,可以使用模运算符%从基本整数除法中获取余数。只需将计数器变量模化12,如果计数器大于0,则它位于12、24,等等。运行循环

  var counter = 0;
  while (balance > 0) {
    counter ++; 
    if (counter%12==0)
        console.log("You are on a (N*12)th loop run");  
    }
  } 
然而,当涉及到计算利息和付款等问题时,我建议您每月进行所有计算,然后如果需要/需要,当您有月总数时,将其转换为年数