crea una tabla de amortization schedule con html, css y javascript in javascript

Aquí te dejamos un ejemplo básico de cómo crear una tabla de amortización utilizando HTML, CSS y JavaScript:

<table>
  <thead>
    <tr>
      <th>Payment #</th>
      <th>Payment Date</th>
      <th>Payment Amount</th>
      <th>Principal Paid</th>
      <th>Interest Paid</th>
      <th>Balance</th>
    </tr>
  </thead>
  <tbody>
  </tbody>
</table>
243 chars
15 lines
table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1em;
}

table th, table td {
  border: 1px solid #ddd;
  padding: 0.5em;
  text-align: center;
}

table th {
  background-color: #eee;
  font-weight: bold;
}
227 chars
17 lines
index.tsx
function calculateAmortization(principal, interestRate, months, payment) {
  let balance = principal;
  let monthlyRate = interestRate / 12;
  let amortization = [];
  
  for (let i = 1; i <= months; i++) {
    let interest = balance * monthlyRate;
    let principalPaid = payment - interest;
    balance -= principalPaid;
    
    amortization.push({
      payment: i,
      paymentDate: new Date((new Date().getFullYear(), new Date().getMonth() + i, 1)),
      paymentAmount: payment.toFixed(2),
      principalPaid: principalPaid.toFixed(2),
      interestPaid: interest.toFixed(2),
      balance: balance.toFixed(2),
    });
  }
  
  return amortization;
}

function renderAmortizationTable(amortization) {
  let tbody = document.querySelector('table tbody');
  
  amortization.forEach((payment) => {
    let tr = document.createElement('tr');
    
    for (let key in payment) {
      let td = document.createElement('td');
      td.textContent = payment[key];
      tr.appendChild(td);
    }
    
    tbody.appendChild(tr);
  });
}

let principal = 100000;
let interestRate = 0.05;
let months = 30 * 12;
let payment = 536.82;

let amortization = calculateAmortization(principal, interestRate, months, payment);

renderAmortizationTable(amortization);
1257 chars
48 lines

Lo que hace este código es:

  1. Crea una tabla HTML con los encabezados correspondientes a cada columna.
  2. Define un estilo CSS básico para la tabla.
  3. Define dos funciones en JavaScript: calculateAmortization y renderAmortizationTable.
  4. calculateAmortization es una función que toma los valores del principal, la tasa de interés, el número de meses y el pago mensual, y devuelve una matriz con cada pago mensual y los detalles correspondientes (fecha de pago, cantidad pagada como principal, cantidad pagada como interés, saldo restante).
  5. renderAmortizationTable es una función que toma la matriz devuelta por calculateAmortization y la renderiza en la tabla HTML creada anteriormente.
  6. Se define un ejemplo de principal, tasa de interés, número de meses y pago mensual, se calcula una tabla de amortización utilizando calculateAmortization y se renderiza en la tabla HTML utilizando renderAmortizationTable.

related categories

gistlibby LogSnag