Рассчитать значение для каждых 12 отсчетов

function myFunction() {
  diff = 2;
  var l = 12;

  b = document.getElementById("yee").value;

  var a = Number(document.getElementById("base").value);
  var aa = (a * b) / 100;
  z = aa;
  var r = "";
  k = 0;
  m = 0;
  e = 0;
  z = 0;
  
  const yr_arr = [];
  for (var i = 0; i < diff; i++) {
    if (i) {
      var hk = (aa * document.getElementById("per").value) / 100;
      aa += Number(hk);

    }
    n = m;

    
    for (var j = 0; j < l; j++) {

      var d = ((aa * n) * 5) / 12 / 100;
      var f  = d+z;

      r += k + 1 + ") " + aa.toFixed(2) + "---" + f.toFixed(2) + "<br/>";
      k++;
      n++;
      
      yr_arr.push({ x: aa });
    }
    
  
    r += "";
    m++;
    z = z + d;

  }
  
  const yr_result = yr_arr.reduce( ( sum, { x } ) => sum + x , 0);
	document.getElementById("yr_demo1").innerHTML += yr_result.toFixed(2);
    
  document.getElementById("demo").innerHTML += r;
}
<div>
  <span>Base Quantity</span>
  <input type = "text" id = "base" value = "10000" />
</div>
<div>
  <span>Base Percent</span>
  <input type = "text" id = "yee" value = "12" />
</div>
<div>
  <span>Whole Percent</span>
  <input type = "text" id = "per" value = "10" />
</div>

<button onclick = "myFunction()">Click</button>

<p id = "demo"></p>

<p id = "yr_demo1"></p>

Здесь я пытаюсь рассчитать некоторый процент и отображать его. Кроме того, я пытаюсь получить общее значение 2-го столбца. Я достиг этого, используя сокращение javascript.

Например, в приведенном выше коде вы можете видеть, что 1200 отображается 12 раз, а 1320 — следующие 12 раз. И я могу получить общее значение 30240 (12*1200+12*1320). Но я также хочу напечатать его для каждых 12 счетов. Я хочу показать значение 14400 после 12 подсчетов и 15840 после следующих 12 подсчетов.

Результат, что я ожидаю

Рассчитать значение для каждых 12 отсчетов

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
38
1

Ответы 1

Вместо того, чтобы вычислять сумму после генерации массива, вы уже можете вычислить ее во время генерации в первом цикле for.

Затем вы можете использовать Остаточный оператор %, чтобы проверить, делится ли ваш индекс i на 12, и добавить свою строку в r.

      …
      yr_arr.push({ x: aa });
    }

    sum += aa;

    if (i % 12 === 0) r += aa + "<br/>";

Тогда нет необходимости в вашем отображении.

Нет, это просто напечатать 1200 после 12 счетов. Он не вычислял значения.

Karuppiah RK 01.03.2019 22:24

Я проверил свой код на codepen, он там работает. Вы инициализировали sum как var sum=0; в начале?

Andy 04.03.2019 17:40

Другие вопросы по теме